代理设计模式

package designmode;

interface Subject { // 整个操作的核心主题
public void make();// 整个操作的核心功能
}

class RealSubject implements Subject {
public void make() {
System.out.println(“核心主题正在操作!!!!!”);
}
}

class ProxySubject implements Subject {
private Subject sub;

// 代理主题要接收一个真实主题的操作对象
public ProxySubject(Subject sub) {// 代理主题实为真实主题服务
this.sub = sub;
}

public void prepare() {
System.out.println(“核心主题操作前的准备!”);
}

public void make() {
this.prepare();// 代理准备
this.sub.make();// 代理调用真实主题开始进行
this.destroy();// 代理扫尾
}

public void destroy() {
System.out.println(“核心主题操作后的收尾工作!”);// destroy 销毁;
}
}

public class ProxyMode {
public static void main(String[] args) {
Subject sub = new ProxySubject(new RealSubject());
sub.make();// 输出:核心主题操作前的准备! 核心主题正在操作! 核心主题操作后的收尾工作!
}// 调用代理主题操作, 由代理主题操作调用真实主题, 代理完成比真实主题更多的操作(代理设计模式)

}

    原文作者:设计模式
    原文地址: http://www.cnblogs.com/Lovemeifyoudare/p/10381239.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞