面向对象的六大原则

面向对象设计主要是为了软件的可维护、可扩展、可复用和灵活性好。在面对新的需求和更改的时候能够用最小的代价来达到最好的效果。编程

在设计模式中对面向对象设计有了更进一步的理解。下面先总结一下面向对象设计的六大原则吧。设计模式


开放-封闭原则

在咱们设计的时候要尽可能保持开放-封闭原则。对于增长需求等状况要尽可能扩展而不要对类进行修改,避免由于修改而形成没必要要的麻烦。开放封闭原则是全部面向对象原则的核心。ide


单一职责原则

单一职责原则就是一个类只负责一个职责,仅有一个引发它变化的缘由。下降类的耦合。spa

若是一个类承担的职责过多,就等于把这些职责耦合在一块儿,一个职责的变化就有可能使软件的各个方面都收到影响,无疑这样是很是糟糕的。若是一个类具备多余一个的职责,就应该考虑类的分离。设计


里氏代换原则

一个软件实体若是使用的是一个父类的话,那么必定使用于其子类,并且它察觉不出父类对象和子类对象的区别。也就是说在软件里面,把父类都替换成它的子类,程序的行为没有变化。orm

也正是由于这个原则,使得继承复用称为可能,只有当子类能够替换点父类,软件单位的功能不受到影响时,父类才能真正的被复用,而子类也能在父类的基础上增长新的行为。里氏代换原则是实现开放封闭原则的具体规范。这是由于实现开放封闭原则关键是抽象,而继承关系又是抽象的一种具体实现。对象


依赖倒转原则

依赖倒转原则即抽象不该该依赖细节,细节应该依赖于抽象。高层模块不该该依赖底层模块,两个都应该依赖抽象。其实就是要针对抽象进行编程,不要对实现进行编程。减小耦合。继承


聚合复用原则

尽可能使用合成/聚合,尽可能不要使用类继承。优先使用对象的合成/聚合将有助于你保持每一个类被封装,并被集中在单个任务上。这样类和类继承层次会保持较小规模,而且不太可能增加为不可控制的庞然大物。it


迪米特法则

若是两个类没必要彼此直接通讯,那么这两个类就不该当发生直接的相互做用。若是其中一个类须要调用另外一个类的某一个方法的话,能够经过第三者转发这个调用。迪米特法则的根本思想是强调了类之间的松耦合。class


总的来讲这几个原则都是为了减小耦合,能让软件面对需求的时候用最小的代价来得到最大的改善。编程的时候要面向抽象编程,而不是依赖于细节。

相关文章
相关标签/搜索