设计模式学习笔记 1.介绍

学习设计模式是为了深入理解OO思想和原则。

学习设计模式的基础知识:

必须先有类和对象,才可以谈设计模式。把现实世界的业务功能抽象成对象,如何抽象?GRASP给出了基本的指导原则。

GRASP, General Responsibility Assignment Software Patterns,通用职责分配软件模式。描述了对象设计和职责分配的基本原则。

  1. 信息专家

    如果某个类拥有完成某个职责所需的所有信息,那么这个职责应该分配给这个类去实现。

     

  2. 创建者

    正确创建耦合关系,凡符合以下条件,皆可用A创建B。

    1. A是B的聚合
    2. A是B 的容器
    3. A持有初始化B的信息
    4. A记录B的实例
    5. A频繁使用B

       

  3. 低耦合

    尽可能减少类之间的连接。

    作用:降低因一个类的变化而影响其它类的范围;类变得简单,更内聚更容易理解。

    造成A、B之间的耦合有如下情况:

    1. A是B的属性
    2. A调用B的实例方法
    3. A的方法中引用了B,返回值或参数中
    4. A是B的了类,或A实现了B

    降低耦合的原则:Don't talk to strangers

     

  4. 高内聚

     

  5. 控制器

    用来接收和处理系统事件的职责,一般分配给能够代表整个系统的类(可能有多个,分管不同的事务)。

     

  6. 多态
  7. 纯虚构
  8. 间接
  9. 受保护变化

 

设计原则:

比设计更重要的是原则。

  1. 单一职责原则
  2. 开发-封闭原则
  3. 依赖倒置原则
  4. 接口隔离原则
  5. 替换原则
posted @ 2012-02-27 23:38  鱼十七  阅读(177)  评论(0编辑  收藏  举报