经过一段时间,已经把C#的常用的24种设计模式简要的介绍了一下,可能介绍的不好,因为有些东西我也不熟悉,描述的也不是很清楚,还请各位多多指教。
简要的说,设计模式提供了一种优雅的,通用的可重用解决方案。可以通过设计模式组织程序中的对象,使其更易于修改和维护。
以前文章中所有设计模式的代码下载地址:http://download.csdn.net/detail/weixingstudio/4106223
这里的代码我都转换到了vs2010的解决方案模式,不知道低版本的vs能不能正常的打开。希望这些代码能给大家的学习带来帮助吧。代码均来自C#设计模式一书。
1. 简单工厂模式:http://blog.csdn.net/weixingstudio/article/details/7234423
2. 工厂方法模式:http://blog.csdn.net/weixingstudio/article/details/7234700
3. 抽象工厂模式:http://blog.csdn.net/weixingstudio/article/details/7246254
4. 单件模式: http://blog.csdn.net/weixingstudio/article/details/7267546
5. 生成器模式: http://blog.csdn.net/weixingstudio/article/details/7270739
6. 原型模式: http://blog.csdn.net/weixingstudio/article/details/7277494
7. 适配器模式 http://blog.csdn.net/weixingstudio/article/details/7288368
用于把一个类的接口改变成另外一个类的接口。
8. 桥接模式 http://blog.csdn.net/weixingstudio/article/details/7289988
目的是分离类的接口和实现,这样就可以在无需修改客户端代码的情况下改变或更换实现。
9. 组合模式 http://blog.csdn.net/weixingstudio/article/details/7291416
对象的集合,其中任何一个对象都可以像其自身一样的组合,或者仅仅是一个叶子对象。
10. 装饰器模式 http://blog.csdn.net/weixingstudio/article/details/7295625
在外围装饰某个指定的类,给其指定类添加新的功能,并把所有未做变动的方法都传递给位于其之下的指定类。
11. 外观模式 http://blog.csdn.net/weixingstudio/article/details/7296339
把复杂的一组对象聚集在一起,提供一个新的较简单的接口来访问这些数据。
12. 享元模式 http://blog.csdn.net/weixingstudio/article/details/7298047
提供了一种限制小而累死的实例快速繁殖的方式,把类中的某些数据迁移到类的外部,然后在类的各种方法的执行期间把这些数据作为参数传递进来。
13. 代理模式 http://blog.csdn.net/weixingstudio/article/details/7299546
为复杂的对象提供简单的占位对象,复杂的对象的实例化在某种方式上或是较为费时,或是代价高。
14. 职责链模式 http://blog.csdn.net/weixingstudio/article/details/7301763
15. 命令模式 http://blog.csdn.net/weixingstudio/article/details/7304542
16. 解释器模式 http://blog.csdn.net/weixingstudio/article/details/7312046
17. 迭代器模式 http://blog.csdn.net/weixingstudio/article/details/7312315
18. 中介者模式 http://blog.csdn.net/weixingstudio/article/details/7312733
19. 备忘录模式 http://blog.csdn.net/weixingstudio/article/details/7314430
20. 观察者模式 http://blog.csdn.net/weixingstudio/article/details/7315030
21. 状态模式 http://blog.csdn.net/weixingstudio/article/details/7320292
22. 策略模式 http://blog.csdn.net/weixingstudio/article/details/7320671
23. 模板方法模式 http://blog.csdn.net/weixingstudio/article/details/7321025
24. 访问者模式 http://blog.csdn.net/weixingstudio/article/details/7321872