老菜的园子

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

设计模式中的原则

核心原则是:开放封闭原则

 

实现方法:面向接口编程。对接口的修改封闭,对实现的修改开放。 

面向接口编程,遵循的是依赖倒置原则,实现上要求支持里氏替换原则。 

对接口的设计要遵循最小接口原则、迪米特法则。 

 

通过组合、聚合复用已有对象的功能。 

通过继承隔离变化。

 

典型模式要点

 

factory模式,封装了单个对象的构造过程。使用者只看到接口,不用看到具体的实现。

abstract factory 模式,封装了一系列、多个对象的构造。

builder模式,应用于复杂对象的构建,将构建分解为多个步骤,每个步骤都可变化。

其它模式:Singleton,Prototype

 

bridge模式:适用于两个纬度的变化。 抽象类加继承支持一个纬度的变化。 桥模式将接口和实现通过组合的方式联系,实现了解耦。

composite和decorator模式:两者有一个共同的特性,从抽象接口派生出不同功能的子类。composite模式从component派生出leaf和composite, decorator模式派生出concreteComponent和Decorator。这样达到了接口一致,功能对客户透明的目的。

visitor模式提供了一种类似回调函数的机制,在结构不变的情况下,提供了功能扩展的通道。

Adapter, Proxy:通过组合,将外部的访问进行转换。

其它模式:Facade,Flyweight

 

Command,state,strategy模式类似,依次封装的是:命令、状态、算法。通过接口和特化实现对变化的封装。先定义多个实例,在context中选择具体的实例。

Observer, Chain of Responsibility:处理一对多的关系。前者需要多个对象都做出响应,后者只需要从多个对象中选择一个进行处理。

Mediator:处理多个对象相互访问的关系。

Iterator:提供对象内部元素的访问。

Template Method:封装对象行为子步骤的的变化。

其它模式:Interpreter,Memento。

设计模式学习资料

深入浅出设计模式

设计模式

李建忠,“C#面向对象设计模式纵横谈系列课程

吕震宇,“C#设计模式

设计模式随笔系列:开篇-模式和原则 

posted on 2010-09-14 21:58  weichsel  阅读(273)  评论(0编辑  收藏  举报