http://www.evernote.com/shard/s20/sh/00636c49-8060-4011-9b00-cef4bda3f972/63e24fe9c16f237615d88db2a7f1fb8e
复用
继承 白箱复用
组合 黑箱复用
针对接口编程,而不是针对实现编程
优先使用组合,而不是继承
应该间接的创建对象
不能方便的对类进行修改
Adapter Decorator Visitor
look and feel
一系列互相关联的对象 Abstract Factory
添加新产品不容易
decorator 表现为为对象添加功能
proxy 表现为控制对对象的访问 不能动态的添加或分离 也不是为递归组合而设计
state模式
把与状态有关的行为委托给状态类去处理,从而将不同状态的行为分割开来
自己工作中触到的设计模式
singleton 不解释
adapter
decorator java集合框架中创建同步map
proxy 远程调用 webservice hibernate 懒加载
Template method 大部分框架 servlet 里面的doPost() 方法
责任链 cocoa 中的事件处理向上传递 j2ee拦截器
iterator java集合框架
observer awt cocoa
Cocoa简直就是设计模式的演武场:mvc, 委托,观察者,责任链,command,单列