装饰模式/适配器模式/代理模式

来源:百度文库 编辑:神马文学网 时间:2024/04/29 02:55:40

装饰模式扩展既有对象的状态和功能,适配器模式实现不同接口的转换,代理模式某种意义上是通过第三方来进行对象的访问控制、监管。

 

四人帮: 装饰模式动态地给一个对象添加一些额外的职责。装饰模式使用组合代替继承来为对象添加行为,发生在运行时,被认为是一种动态扩展,灵活。(REF:http://blog.sina.com.cn/s/blog_5b2c0c330100bv8g.html

 

适配器在一定场合会被认为是一味系统升级/组件升级良药,使得新系统功能能够兼容旧系统,或者是使得旧系统功能在新系统中应用。假设针对某一服务部件进行了重构(例如修改了方法名以使得更加规范化命名),而不希望将这一变化透露给使用服务部件的客户(客户一点也不想知道)。事实上客户的习惯(固化的观念)是令人头疼的问题,500万美元ERP项目失败记(Ref:http://cio.ccidnet.com/art/12129/20091209/1956733_1.html)......

  

装饰模式的重点在于“扩展”,正是java多态的体现。 适配器和代理模式体现的是封装,适配器的重点在于封装(对适配器来说也是伪装),隐藏内部变化;代理模式定义“为其他对象提供一种代理以控制对这个对象的访问”,控制是重点

 

单例模式的实现中有一类方法是结合代理模式和static变量第一次被引用时初始化的特性来控制单例的Lazy生成。