1. MVC中用到的模式
(Model/View/Controller)模型/视图/控制器。
Observer模式:订购/通知。将对象分离,使得一个对象的改变能够影响另一些对象,而这个对象并不需要知道那些被影响的对象的细节。
Composite模式:MVC中视图可以嵌套,对象包含对象。将一些对象划为一组,并将该组对象当作一个对象来使用。
Strategy模式:Controller可以替换,以实现不同的响应策略。在运行时刻改变Controller来改变View对用户输入的响应方式。
2.一些设计模式初步认识
Abstract Factory : 提供一个创建一系列相关或者相互依赖的对象的接口。
适配器模式(Adapter):将一个类的接口转换为用户希望的另外一个接口。
Composite模式:部分-整体。对象嵌套对象。
Facade模式:为子系统中的一组接口提供一个一致的界面。
观察者模式:对象间一对多关系。当一个对象状态发生变化时,所有以来于它的对象都得到通知并自动刷新。
Strategy模式:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。
3. 设计模式分类
创建型,结构型,行为型。
对象模式,类模式:类模式处理类和子类关系,编译时就静态确定下来了;对象模式处理对象间关系,运行时刻可以变化。创建型类模式将对象的部分创建工作推迟到子类;创建型对象模式延迟到另一个对象中。
4.类继承和接口继承
对象的类(class),对象的类型(type)
5.可复用面向对象的原则:
针对接口编程,而不是针对实现编程。
优先使用对象组合,而不是类继承:继承破坏了封装性。对象组合保持了封装;可以多态调用对象方法;依赖关系少。
6.委托
对象组合的特例。
7.继承和参数化类型
将类型作为参数。例如:C++中的模版。
对象组合技术允许在运行时刻改变被组合的行为;继承允许提供操作的缺省实现;参数化类型运行改变类所用到的类型。