设计模式-可复用面向对象软件基础-读书笔记(1)

来源:互联网 发布:seo关键词排名工具 编辑:程序博客网 时间:2024/05/17 22:47

 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++中的模版。

对象组合技术允许在运行时刻改变被组合的行为;继承允许提供操作的缺省实现;参数化类型运行改变类所用到的类型。

 

原创粉丝点击