摘要: 设计类应该对修改关闭,对扩展开放。 使用装饰者模式: 1.装饰者和被装饰者必须有相同的超类型。 2.可以用一个或多个装饰者包装一个对象。 3.装饰者和被装饰者拥有相同的超类型,所以可以使用装饰者的地方也可以使用装饰过的对象取代它。 4.装饰者可以在所委托的被装饰者的行为之前或者之后添加上自己的行为, 阅读全文
posted @ 2016-06-01 15:27 xnuwu 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 为交互对象之间的松耦合设计而努力 观察者模式定义了对象之间的一对多的依赖,这样以来,当一个对象改变状态,它的所有的依赖者都会收到通知并自动更新。 如图,当主题有消息更新的时候,小猫和小狗会收到通知,此时小猪不在观察者里, 需要进行注册,然后就可以收到通知了。 模式中的角色 抽象主题(Subject) 阅读全文
posted @ 2016-06-01 13:58 xnuwu 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 策略模式:定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户 1.找出代码中可能变化之处,把他们独立出来,不要和那些不变化的代码混在一起 2.针对借口编程,而不是针对实现编程 3.多用组合少用继承 具体实现的分离 输出 阅读全文
posted @ 2016-06-01 01:27 xnuwu 阅读(163) 评论(0) 推荐(0) 编辑