6大设计原则与常见设计模式(概述)

关于设计模式(原则),看到这样一段有趣的话。

如果写程序比作打架

那设计模式就是套路,比如长拳、永春啥的

都是打架,有的是大侠切磋,有的是流氓群殴

但大侠有时候也未必大的过流氓,因为流氓不按套路出牌

流氓牛了,厉害了,流氓的打架方法慢慢就成了新的套路,流氓也就编程里的大侠了

设计模式即是如此,起初GOF是四个和我们差不多的流氓

但是架打多了,他们注意总结和分析,从群殴中整理了一组套路出来,就是GOF23模式,所以他们就成为大侠了

你想成为大侠,先学套路是对的,但是也要注意实际应用,不要死套套路

结合套路慢慢形成自己风格,你就不是流氓了。

 

编码遵循设计原则是为了代码复用,增加代码健壮性、可维护性。

6大设计原则:

 (1) 单一职责原则(Single Responsibility Principle,SRP)

 (2) 里氏替换原则(Liskov Substitution Principle,LSP)

 (3) 依赖倒置原则(Dependence Inversion Principle,DIP)

 (4) 接口隔离原则(Interface Segregation Principle,ISP)

 (5) 迪米特法则(Law Of Demeter,LOD)

 (6) 开闭原则(Open Closed Principle,OCP)

 (补充) 组合/聚合复用原则(Composite/Aggregate Reuse Principle,CARP)

6大设计原则详解(一):http://www.cnblogs.com/LangZXG/p/6242925.html

6大设计原则详解(二):http://www.cnblogs.com/LangZXG/p/6242927.html

 

设计模式就是实现了这些原则,从而达到代码复用、增加代码的健壮性、可维护性的目的。

23种设计模式:

1. 创建型模式(5)

 (1) 单例模式(详解:http://www.cnblogs.com/LangZXG/p/6248835.html

 (2) 工厂方法模式

 (3) 抽象工厂模式(2种模式详解:http://www.cnblogs.com/LangZXG/p/6249425.html

 (4) 建造者模式

 (5) 原型模式

2. 结构型模式(7)

 (1) 适配器模式(详解链接)

 (2) 装饰模式(详解链接)

 (3) 代理模式(详解链接)

 (4) 组合模式

 (5) 享元模式

 (6) 外观模式/门面模式(详解链接)

 (7) 桥接模式(详解链接)

3. 行为型模式(11)

 (1) 模板方法模式

 (2) 中介者模式

 (3) 命令模式(详解链接)

 (4) 责任链模式

 (5) 策略模式(详解链接)

 (6) 迭代器模式

 (7) 观察者模式(详解链接)

 (8) 备忘录模式

 (9) 访问者模式

 (10) 状态模式

 (11) 解释器模式

持续更新中...

 

 

类图基本知识: http://www.cnblogs.com/LangZXG/p/6208716.html

 

注:转载请注明出处   http://www.cnblogs.com/LangZXG/p/6204142.html

posted @ 2017-01-03 17:07  LangZXG  Views(2843)  Comments(0Edit  收藏  举报