首页 > 代码库 > 【设计模式】代理模式和装饰模式之间的区别
【设计模式】代理模式和装饰模式之间的区别
学习了代理模式和装饰模式之后,对这两个的模式的区别产生了混淆,因为两个模式都是对一个类的功能进行扩充,而且服务类和客户类都同时实现了统一个接口。
那么,两者之间有什么区别呢?
通过http://www.cnblogs.com/jaredlam/archive/2011/11/08/2241089.html的文章,总结得知,两种模式最大的不同就在于对于访问的控制,以及类之间关系的确定阶段的不同。
代理模式是在服务类中新建一个被代理类的实例,使用者得不到被代理类的具体信息,也无法访问,类似于中介对客户信息的保密。
两个类的关系在编译阶段就确定了。
装饰模式是在使用过程中,传入需要装饰类的实例,使用者可以访问,控制实例的信息,该对象对使用者来说是可以访问的。
两个类的关系在动态阶段才被确定。
【设计模式】代理模式和装饰模式之间的区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。