代理模式 与装饰模式的区别 干货
来源:互联网 发布:军人网络泄密心得体会 编辑:程序博客网 时间:2024/05/20 22:26
装饰器模式关注于在一个对象上动态的添加方法,然而代理模式关注于控制对对象的访问。换句话 说,用代理模式,代理类(proxy class)可以对它的客户隐藏一个对象的具体信息。
因此,当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。
而,当我们使用装饰器模 式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。
//代理模式
public class Proxy implements Subject{
private Subject subject;
public Proxy(){
//关系在编译时确定
subject = new RealSubject();
}
public void doAction(){
….
subject.doAction();
….
}
}
//代理的客户
public class Client{
public static void main(String[] args){
//客户不知道代理委托了另一个对象
Subject subject = new Proxy();
…
}
}
装饰模式:
//装饰器模式
public class Decorator implements Component{
private Component component;
public Decorator(Component component){
this.component = component
}
public void operation(){
….
component.operation();
….
}
}
//装饰器的客户
public class Client{
public static void main(String[] args){
//客户指定了装饰者需要装饰的是哪一个类
Component component = new Decorator(new ConcreteComponent());
…
}
}
1 0
- 代理模式 与装饰模式的区别 干货
- 代理模式与装饰模式的区别
- 装饰模式与代理模式的区别
- 装饰模式与代理模式的区别
- 装饰模式与代理模式的区别
- 代理模式与装饰模式的区别
- 装饰模式与代理模式的区别
- 装饰模式与代理模式的区别
- 装饰模式与代理模式的区别
- 装饰模式与代理模式的区别
- 装饰模式与代理模式的区别
- 装饰模式与代理模式的区别
- 装饰模式与代理模式的区别
- 装饰模式与代理模式的区别
- 装饰模式与代理模式的区别
- 装饰模式与代理模式的区别
- 装饰模式与代理模式的区别
- 装饰模式与代理模式的区别
- Debian 8.0下为ThinkPad R52降低风扇转速
- xcode7 “Application Transport Security has blocked a cleartext HTTP (http://) resource ”的解决
- CF582A GCD Table
- Android兼容性问题 -- 设置圆角背景方向相反问题
- 韩顺平Linux笔记(七)——Linux安装
- 代理模式 与装饰模式的区别 干货
- nyoj--74--小学生算术(水)
- 随意细解:UI -- UIView及其子类
- 小技巧9-iOS UITextField结束编辑、收回键盘
- lightoj1297(二分查找,或求导)
- Android使用兰贝壳儿实现多渠道打包
- 蓝懿ios 技术内容和心得交流分享 11.10
- UI基础-UIView及其子类
- Java语言实现两个有序链表的合并