概述
此文不再更新,更详细内容请移步:小试设计模式七大原则
单一职责原则 SRP(Single Responsibility Principle)
单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。
如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受意想不到的破坏。
故:单一职责模式可以通俗的理解为「一个类只负责一项职责」。
开放-封闭原则 OCP(Open-Closed Principle)
开放-封闭原则:一个类应该对扩展开放,对修改关闭。
开闭原则要求的是,当变化发生时,我们创建抽象来隔离以后发生的同类变化。面对需求,不修改已有代码的情况下进行扩展,通过增加新代码进行。
「开放-封闭原则」是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护、可扩展、可复用、灵活性好。
里式替换原则 LSP(Liskov Substitution Principle)
里氏替换原则:子类型必须能够替换掉他们的父类型。
一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且它察觉不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成它的子类,程序行为没有变化。
正因为有了这个原则,使得继承复用成为了可能,只有当子类可以替换掉父类,软件单位的功能不受到影响时,父类才能真正被复用,而子类也能够在父类的基础上增加新的行为。
依赖倒转原则 DIP(Dependence Inversion Principle)
依赖倒置原则:要依赖与抽象,不要依赖与具体类。
要做到:
高层模块不应依赖与底层模块,二者应该依赖于抽象;
抽象不应该依赖于具体实现(细节),具体实现(细节)应该依赖于抽象。
采用依赖倒转原则可以减少类间的耦合性,提高系统的稳定性,降低并行开发引起的风
险,提高代码的可读性和可维护性。
接口隔离原则 ISP(Interface Segregation Principle)
接口隔离原则:建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。
为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。
依赖几个专用的接口要比依赖一个综合的接口更灵活,通过分散定义多个接口,可以预防外来变更的扩散,提高系统的灵活性和可维护性。
迪米特法则 LoD(Law of Demeter)
迪米特法则也称为最少知识原则 LKP(Least Knowledge Principle),一个对象应该对其他对象有最
少的了解。
应该尽量减少对象之间的交互,如果两个对象之间不必彼此直接通信,那么这两个对象就不应当发生任何直接的相互作用,如果其中的一个对象需要调用另一个对象的某一个方法的话,可以通过第三者转发这个调用。
迪米特法则的初衷是降低类之间的耦合,由于每个类都减少了不必要的依赖,因此的确可以降低耦合关系。
合成复用原则 CARP(CompositionAggregationReuse Principle)
尽量使用合成/聚合,尽量不要使用类继承。
聚合 -> has-a;组合 -> contains-a;继承 -> is-a
例子:大雁和翅膀是组合,大雁和燕群是聚合(依赖关系:组合>聚合)
最后
以上就是害羞咖啡为你收集整理的设计模式七大原则之定义的全部内容,希望文章能够帮你解决设计模式七大原则之定义所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复