首页 > 其他 > 详细

代理设计模式

时间:2019-02-14 23:47:46      阅读:248      评论:0      收藏:0      [点我收藏+]

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();// 输出:核心主题操作前的准备! 核心主题正在操作! 核心主题操作后的收尾工作!
}// 调用代理主题操作, 由代理主题操作调用真实主题, 代理完成比真实主题更多的操作(代理设计模式)

}

代理设计模式

原文:https://www.cnblogs.com/Lovemeifyoudare/p/10381239.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!