设计模式之浅析

来源:互联网 发布:linux的home目录 编辑:程序博客网 时间:2024/06/08 12:52

设计模式有点多,在代码级别考虑问题时,不可能考虑那么多
因此,旨在透过内裤看本质,研究设计模式六大原则

1.单一职责原则

参考:http://blog.csdn.net/zhengzhb/article/details/7278174
不要存在多于一个导致类变更的原因
通俗的说,即一个类只负责一项职责。

难点:单一职责很简单,但因为存在职责扩散,所以基本上不可能完全实现单一职责
所谓职责扩散,就是因为某种原因,职责P被分化为粒度更细的职责P1和P2。
解决有三种方案:
1.代码级别(只有逻辑足够简单,才可以在代码级别上违反单一职责原则)
2.方法级别(只有类中方法数量足够少,才可以在方法级别上违反单一职责原则)
3.类级别

2.里氏替换原则

参考: 设计模式六大原则(2):里氏替换原则

里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。
它包含以下4层含义:
1.子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
2.子类中可以增加自己特有的方法。
3.当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
4.当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。

3.依赖倒置原则

参考:http://blog.csdn.net/zhengzhb/article/details/7289269

依赖倒置原则基于这样一个事实:相对于细节的多变性,抽象的东西要稳定的多。
依赖倒置原则的核心思想是面向接口编程

4.接口隔离原则

参考:http://blog.csdn.net/zhengzhb/article/details/7296921
客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

5.迪米特法则(最少知道原则)

参考:设计模式六大原则(5):迪米特法则
定义:一个对象应该对其他对象保持最少的了解。
迪米特法则还有一个更简单的定义:只与直接的朋友通信

迪米特法则的初衷是降低类之间的耦合,由于每个类都减少了不必要的依赖,因此的确可以降低耦合关系。但是凡事都有度,虽然可以避免与非直接的类通信,但是要通信,必然会通过一个“中介”来发生联系。

6.开闭原则

参考:设计模式六大原则(6):开闭原则
用抽象构建框架,用实现扩展细节重点内容

单一职责原则告诉我们实现类要职责单一;
里氏替换原则告诉我们不要破坏继承体系;
依赖倒置原则告诉我们要面向接口编程;
接口隔离原则告诉我们在设计接口的时候要精简单一;
迪米特法则告诉我们要降低耦合。
开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。

0 0
原创粉丝点击