随笔分类 - 设计模式
摘要:装饰者模式:动态地将责任附加到对象上。想要扩展功能,装饰者提供了有别于继承的另一种选择。原则:(5) 对扩展开放,对修改关闭要点:(1)继承属于扩展属于扩展形式之一,但不见得是达到弹性设计的最佳方式 (2)在我们的设计中,应该允许行为可以扩展,而无须修改现有的代码 (3)组合和委托可用于在运行时动态的加上新行为 (4)除了继承,装饰者模式也可以让我们扩展行为 (5)装饰者模式意味...
阅读全文
摘要:观察者模式:在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都回收到通知并自动更新。要点:(1):观察者定义了对象一对多的关系 (2):主题(可观察者)用一个共同的接口来更新观察者 (3):观察者和可观察者之间用松耦合的方式结合,可观察者不知道观察者的细节,只知道观察者实现了观察者接口 (4):使用此模式,你可以从被观察者处推或拉数据 (5):有多个观察者时,不可以依...
阅读全文
摘要:策略模式:定义了算法簇,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。设计原则:(1)找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起 (2)针对接口编程,而不是针对实现编程 (3)多用组合,少用继承。针对接口编程:真正意思是针对超类型编程。针对接口的关键在于多态。利用多态,程序可以针对超类型编程,执行时会根据实际情况执...
阅读全文