设计模式总结(1)
======================================================
strategy pattern
设计原则:
找出应用中可能需要变化之处,把它们独立出来。
不要和那些不需要变化的代码混在一起。
针对接口编程 真正的意思是 针对超类型编程。
oo基础:
抽象
封装
多态
继承
oo原则:
封装变化
多用组合, 少用继承
针对接口编程,不针对实现编程
strategy pattern:
定义算法族,分别封装起来,
让它们之间可以互相替换,此模式让算法
的变化独立于使用算法的客户。
======================================================
observer pattern
松耦合的威力
当两个对象之间松耦合,他们依然可以交互,
但是不太清楚彼此的细节。
观察者模式提供了一种对象设计,
让主题和观察者之间松耦合。
主题只知道观察者实现了某个接口(Observer)。
主题不需要知道观察者的具体类是谁,
做了些什么或其他任何细节。
任何时候我们都可以增加新的观察者。
因为主题唯一依赖的东西是一个实现Observer借口的对象列表。
所以我们可以随时增加和删除观察者,主题不受影响。
新类型的观察者出现后,主题的代码不需要修改,
在新的类里 实现Observer接口,注册为某个主题的观察者。
设计原则:
为了交互对象之间的松耦合设计而努力。
松耦合的设计之所以能让我们建立有弹性的OO系统,
能够应对变化,是因为对象之间的互相依赖降到了最低。
observer pattern:
在对象之间定义一对多的依赖,这样以来,当一个对象
改变状态时,依赖它的对象都会收到通知,并自动更新。