天天看点

编程原则及设计模式详解

http://c.biancheng.net/view/1324.html

1.开闭原则:对扩展开放,对修改关闭;

开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。

2.里氏替换原则:继承必须确保超类所拥有的性质在子类中仍然成立;

里氏替换原则通俗来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。

3.依赖倒置原则:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象;

依赖倒置原则是实现开闭原则的重要途径之一,它降低了客户与实现模块之间的耦合。

4.单一职责原则:一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分;

一个职责的变化可能会削弱或者抑制这个类实现其他职责的能力;

当客户端需要该对象的某一个职责时,不得不将其他不需要的职责全都包含进来,从而造成冗余代码或代码的浪费。

5.接口隔离原则:要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用;

单一职责原则注重的是职责,而接口隔离原则注重的是对接口依赖的隔离。

单一职责原则主要是约束类,它针对的是程序中的实现和细节;接口隔离原则主要约束接口,主要针对抽象和程序整体框架的构建。

6.最少知识原则:如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。其目的是降低类之间的耦合度,提高模块的相对独立性。

7.组合/聚合复用原则:它要求在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。