PHP架构PHPPHP经验分享

设计模式的六大原则

2017-11-27  本文已影响116人  E狼

单一职责原则(Single Responsibility Principle)

解决办法:遵守单一职责原则,将不同的职责封装到不同的类或模块中。

里氏替换原则(LiskovSubstitution Principle)

在进行设计的时候,我们尽量从抽象类继承,而不是从具体类继承。如果从继承等级树来看,所有叶子节点应当是具体类,而所有的树枝节点应当是抽象类或者接口。

依赖倒置原则(DependenceInversion Principle)

依赖倒置原则基于这样一个事实:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建起来的架构比以细节为基础搭建起来的架构要稳定的多。在java中,抽象指的是接口或者抽象类,细节就是具体的实现类,使用接口或者抽象类的目的是制定好规范和契约,而不去涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成。

A.高层模块不应该依赖低层模块。两个都应该依赖抽象;

B.抽象不应该依赖细节,细节应该依赖抽象;(针对接口编程,而不是针对实现;)

面向过程的开发,上层调用下层,上层依赖于下层,当下层剧烈变动时上层也要跟着变动,这就会导致模块的复用性降低而且大大提高了开发的成本。依赖倒转很好的解决了这个问题;

接口隔离原则

迪米特法则(Law Of Demeter)

迪米特法则的初衷是降低类之间的耦合,由于每个类都减少了不必要的依赖,因此的确可以降低耦合关系。但是凡事都有度,虽然可以避免与非直接的类通信,但是要通信,必然会通过一个“中介”来发生联系,过分的使用迪米特原则,会产生大量这样的中介和传递类,导致系统复杂度变大。所以在采用迪米特法则时要反复权衡,既做到结构清晰,又要高内聚低耦合。

开放-封闭原则(Open Closed Principle)

开放封闭原则,是最为重要的设计原则,里氏替换原则和接口隔离原则为开放封闭原则的实现提供保证。

上一篇下一篇

猜你喜欢

热点阅读