Observer(观察者)模式:
具体场景:MVC模式下,模型Model部分有了改变,界面显示部分View也应该随之而改变
使用场景:一个对象Subject状态的改变连带影响了其它对象Observer,通过Observer把自己注册到Subject中,从而使得Subject在自身改变后,更改Observer的状态。使用Observer模式,降低了Subject和Observer之间的耦合,Subject不知道也不必知道具体有哪些Observer需要根据Subject状态的改变而进行变化。
Template Method(模板方法)模式:
是一种类模式。
使用场景:在SuperClass中为算法的每一个步骤定义了方法,在SuperClass的子类中根据子类的目的具体设定每一个步骤的实现,从而使得子类不必更改算法的结构而重新定义算法中的某些或者全部步骤。现在很多的FrameWork都是使用了这种模式来简化开发人员在编写类的时候的工作量,例如C#中,开发人员要自定义Form,而Form继承自System.Windows.Forms.Form类,开发人员只需要联系当前的业务确定自定义Form应该完成的功能,而不必关心这个Form如何在界面上显示,如何与用户进行交互等等其他的事情。