专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »DotNet » 无废话C#设计模式的 2十 2:整理总结(针对GOF23) »正文

无废话C#设计模式的 2十 2:整理总结(针对GOF23)

来源: 发布时间:星期五, 2009年4月3日 浏览:0次 评论:0
  本文举例源代码或素材下载

  比较



  设计模式



  常用程度



  适用层次



  引入时机



  结构复杂度




  Abstract Factory



  比较常用



  应用级



  设计时



  比较复杂




  Builder



  



  代码级



  编码时



  




  Factory Method



  很常用



  代码级



  编码时



  简单




  Prototype



  不太常用



  应用级



  编码时、重构时



  比较简单




  Singleton



  很常用



  代码级、应用级



  设计时、编码时



  简单




  Adapter



  



  代码级



  重构时



  




  Bridge



  



  代码级



  设计时、编码时



  




  Composite



  比较常用



  代码级



  编码时、重构时



  比较复杂




  Decorator



  



  代码级



  重构时



  比较复杂




  Facade



  很常用



  应用级、构架级



  设计时、编码时



  简单




  Flyweight



  不太常用



  代码级、应用级



  设计时



  




  Proxy



  比较常用



  应用级、构架级



  设计时、编码时



  简单




  Chain of Resp.



  不太常用



  应用级、构架级



  设计时、编码时



  比较复杂




  Command



  比较常用



  应用级



  设计时、编码时



  比较简单




  Interpreter



  不太常用



  应用级



  设计时



  比较复杂




  Iterator



  



  代码级、应用级



  编码时、重构时



  比较简单




  Mediator



  



  应用级、构架级



  编码时、重构时



  




  Memento



  



  代码级



  编码时



  比较简单




  Observer



  比较常用



  应用级、构架级



  设计时、编码时



  比较简单




  State



  



  应用级



  设计时、编码时



  




  Strategy



  比较常用



  应用级



  设计时



  




  Template Method



  很常用



  代码级



  编码时、重构时



  简单




  Visitor



  



  应用级



  设计时



  比较复杂





  注:常用程度、适用层次、使用时机等基于自己理解结构复杂度基于C#语言表格中所有内容仅供参考

  原则、变化和实现



  设计模式



  变化



  实现



  体现原则




  Abstract Factory



  产品家族扩展



  封装产品族系列内容创建



  开闭原则




  Builder



  对象组建变化



  封装对象组建过程



  开闭原则




  Factory Method



  子类例子化



  对象创建工作延迟到子类



  开闭原则




  Prototype



  例子化



  封装对原型拷贝



  依赖倒置原则




  Singleton



  唯例子



  封装对象产生个数






  Adapter



  对象接口变化



  接口转换






  Bridge



  对象多维度变化



  分离接口以及实现



  开闭原则




  Composite



  复杂对象接口



  统复杂对象接口



  里氏代换原则




  Decorator



  对象组合职责



  在稳定接口上扩展



  开闭原则




  Facade



  子系统高层接口



  封装子系统



  开闭原则




  Flyweight



  系统开销优化



  封装对象获取






  Proxy



  对象访问变化



  封装对象访问过程



  里氏代换原则




  Chain of Resp.



  对象请求过程



  封装对象责任范围






  Command



  请求变化



  封装行为对对象



  开闭原则




  Interpreter



  领域问题变化



  封装特定领域变化






  Iterator



  对象内部集合变化



  封装对象内部集合使用



  单职责原则




  Mediator



  对象交互变化



  封装对象间交互



  开闭原则




  Memento



  状态辅助保存



  封装对象状态变化



  接口隔离原则




  Observer



  通讯对象变化



  封装对象通知



  开闭原则




  State



  对象状态变化



  封装和状态相关行为



  单职责原则




  Strategy



  算法变化



  封装算法



  里氏代换原则




  Template Method



  算法子步骤变化



  封装算法结构



  依赖倒置原则




  Visitor



  对象操作变化



  封装对象操作变化



  开闭原则





  学习

  l         掌握设计模式意图以及解决问题

  l         掌握设计模式所封装变化点以及优缺点

  l         了解设计模式结构图以及各角色职责

  l         项目中是否应用了设计模式不重要重要是设计模式是否正确应用

  l         项目中应用设计模式和GOF设计模式结构是否致不重要重要是是否从这个结构中得意

  l         不管用了还是没有用设计模式如果违背了原则就是不恰当设计

  l         没有设计模式是万能沉迷于获得个解决方案话可能会导致项目结构复杂、代码可读性差、并且造成项目延期

  结束语

  l         常用GOF 23种设计模式介绍完了这才是起点

  l         本系列文章并没有结束关注的后非GOF 23种设计模式相关文章

  l         如果适当运用C# 2.0些有用特性(特别是代理、泛型以及分部类和设计模式关联比较大)传统设计模式有非常大改进余地在实际运用过程中优先考虑适用语言特性如果不行再去考虑适用设计模式

  l         迭代器模式(在C# 2.0中实现非常简单)、解释器模式(应用面非常小自己也没有整明白)以及备忘录模式(比较简单没有什么可说)没有单独立文介绍但在代码包中包含了相应例子

  系列文章:

  无废话C#设计模式的:开篇

  无废话C#设计模式的 2:Singleton

  无废话C#设计模式的 3:Abstract Factory

  无废话C#设计模式的 4:Factory Method

  无废话C#设计模式的 5:Prototype

  无废话C#设计模式的 6:Builder

  无废话C#设计模式的 7:Adapter

  无废话C#设计模式的 8:Facade

  无废话C#设计模式的 9:Proxy

  无废话C#设计模式的十:Flyweight

  无废话C#设计模式的十:Composite

  无废话C#设计模式的十 2:Bridge

  无废话C#设计模式的十 3:Decorator

  无废话C#设计模式的十 4:Template Method

  无废话C#设计模式的十 5:Strategy

  无废话C#设计模式的十 6:State

  无废话C#设计模式的十 7:Chain Of Resp

  无废话C#设计模式的十 8:Command

  无废话C#设计模式的十 9:Observer

  无废话C#设计模式的 2十:Mediator

  无废话C#设计模式的 2十:Visitor

标签:
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: