代码改变世界

设计模式--解决的问题

2011-07-07 16:22  WangQiang  阅读(475)  评论(0)    收藏  举报

具体内容摘自《.NET设计模式》,以供查阅

问题--设计问题
解决需求--解决问题推荐的解决方法或设计需求
相关设计模式--解决问题相关设计模式

  • 问题:通过显示指定类创建对象

解决需求:需要实例化时,间接创建对象

相关设计模式:抽象工厂模式、工厂方法模式和原型模式

 

  • 问题:紧耦合

解决需求:需要类之间是松耦合的

相关设计模式:抽象工厂模式、命令模式、外观模式、中介模式、观察者模式和职责链模式

 

  • 问题:通过生成子类扩展功能

解决需求:通过对象组合技术实现功能扩展

相关设计模式:桥接模式、职责链模式、组合模式、装饰模式、观察者模式和策略模式

 

  • 问题:对对象表示或实现的依赖

解决需求:如果客户知道对象如何表示、保存、定位或实现,那么在对象发生变化时也可能发生变化,因此需要对客户隐藏这些信息

相关设计模式:抽象工厂模式、命令模式、外观模式、中介模式、观察者模式和职责链模式

//客户:我是这么理解的,是调用方,比如类B通过某种方式调用类A,则B为客户

 

  • 问题:不能方便地修改类

解决需求:无法修改已存在的类,却又希望修改这个类

相关设计模式:适配器模式、装饰模式和访问者模式

 

  • 问题:对算法的依赖

解决需求:在目的不变的情况下,算法需要修改时

相关设计模式:生成器模式、迭代子模式、策略模式、模板方法模式和访问者模式

 

  • 问题:对软硬件环境的依赖

解决需求:可移植性和可维护性

相关设计模式:抽象工厂模式和桥接模式