设计模式

   表- 设计模式空间

         
    创建型 结构型 行为型
范围 Factory Method Adapter Interprepter
Template Method
  对象 Abstract Factory
Builder
Prototype
Singleton
Adapter
Bridge
Composite
Decroator
Facade
FlyWeight
Proxy
Chain of Responsibility
Command
Iterator
Mediator
Memento
Observer
State
Strategy
Visitor

1、类继承和接口继承的

2、对接口编程,而不是对实现编程

3、运用复用机制: 优先使用对象组合(黑箱复用 black-box reuse),

      而不是类继承(白箱复用 white-box reuse), 只基层抽象抽象类

4、委托: 组合的一种特例

5、继承和参数化类型的比较

6、聚合(aggregation)和相识(acquaintance):

    聚合:一个对象拥有(包含)另外一个对象或对另外一个对象负责

    相识:一个对象仅仅知道另一个对象 (关联或引用)

  表- 设计模式所支持的设计的可变方面

目的

设计模式

可变的方面

创建

  Abstract Factory
  Builder
  Factory Method
  Prototype
  Singleton

  产品对象家族
  符合创建一个组合对象
  被实例化的子类
  被实例化的类
  一个类的唯一实例

结构

  Adapter
  Bridge
  Composite
  Decorator
  Facade
  Flyweight
  Proxy
  对象的接口
  对象的实现
  一个对象的结构和组成
  对象的职责,不生成子类
  一个子系统的接口
  对象的存储开心
  如何访问一个对象,该对象的位置
    Chain of Responsibility
  Command
  Interprete
  Iterator
  Mediator
  Memento

  Observer
  State
  Strategy
  Template Method
  Visitor
  满足一个请求的对象
  何时、怎样满足一个请求
  一个语言的文法及解释
  如何遍历、访问一个聚合的个元素
  对象间如何交互,和谁交互
  一个对象中哪些私有信息存放在该对象之外,以及在什么  时候进行存储
  对个对象依赖与一个对象,而这些对象又如何保持一致
  对象的状态
  算法
  算法中某些步骤
  某些可作用于一个(组)对象上的操作,但不修改这些对象的类
原文地址:https://www.cnblogs.com/jackStudy/p/4356870.html