开闭原则(Open Close Principle)
开闭原则是指软件实体如类、模块、函数应该对扩展开放,对修改关闭。
强调的是用抽象构建框架,用实现扩展细节。
比如在一个稳定的软件系统中增加新的功能,若对原有的功能进行修改,那么可能带来很多的隐患,甚至降低原系统的稳定性,而如果只是在原有功能的基础上进行扩展,将会有效的降低对原有功能的影响,且利于后续的维护。
可以提高软件系统的可复用性、可维护性。
依赖倒置原则(Dependency Inversion Principle)
指的是高层模块不应该直接依赖于底层模块,二者都应依赖于其抽象。
抽象不依赖于实现,实现依赖于抽象。
具体实现可以通过依赖注入的方式进行使用。
这样可以有效的减少类与类之间的耦合,提高代码的可读性、可维护性,并能够降低修改程序带来的风险。
单一职责原则(Simple Responsibility Principle)
尽量避免一种以上可能导致软件中的类、对象、方法进行变更的因素。
可以有效的降低代码的复杂度,提高代码的可读性、可维护性。
接口隔离原则(Interface Segregation Principle)
接口的定义与使用应遵循的原则,尽量使用多个专用的接口,而不是单个由大量不相关的方法组成的接口,使实现减少依赖不需要的接口(方法)。
符合高内聚、低耦合的设计思想,可以有效的提高代码的可读性、可扩展性、可维护性。
迪米特法则(Law Of Demete)
指一个对象应对其它对象保持最少的了解。
举个例子:你是一家花店的老板,当你想知道当天的营业额时,无需你自己对当天售出的鲜花价格、数量等进行计算,只需要询问负责收银的员工即可得到结果,那么就降低了你想得到营业额的复杂度,由对应的人去处理对应的事物。对象之间也是如此,当你想要得到某个结果时,可以使用对应用于处理其的对象,而无需自身进行计算,可以有效的降低代码的复杂程度。
可以有效的降低类之间的耦合度。
里氏替换原则(Liskov Substitution Principle)
所有使用父类的地方都能透明的使用其子类替换,并且不会影响到原有的功能和逻辑。
强调了子类可以对父类的功能进行扩展,但是不能修改原有的功能。
合成复用原则(Composite/Aggregate Reuse Principle)
合成复用原则强调的是尽量使用对象组合(has-a)或对象聚合(contains-a),而不是使用继承关系来达到复用的目的。
避免滥用继承关系,可以使系统更加的灵活,降低类之间的耦合度,并且在修改其中的类时对其它类的影响会较小。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删