其他分享
首页 > 其他分享> > 面向对象的设计原则

面向对象的设计原则

作者:互联网

开闭原则(The Open-Closed Principle ,OCP)


软件实体(模块,类,方法等)应该对扩展开放,对修改关闭。

系统设计需要遵循开闭原则的原因


    1. 稳定性。开闭原则要求扩展功能不修改原来的代码,这可以让软件系统在变化中保持稳定。
    2. 扩展性。开闭原则要求对扩展开放,通过扩展提供新的或改变原有的功能,让软件系统具有灵活的可扩展性。
        遵循开闭原则的系统设计,可以让软件系统可复用,并且易于维护。

 

 里氏替换原则(Liskov Substitution Principle ,LSP)


所有引用基类的地方必须能透明地使用其派生类的对象。

只有满足以下2个条件的OO设计才可被认为是满足了LSP原则:

里式替换原则的引申意义:子类可以扩展父类的功能,但不能改变父类原有的功能。

迪米特原则(最少知道原则)(Law of Demeter ,LoD)
迪米特原则(Law of Demeter)又叫最少知道原则(Least Knowledge Principle),可以简单说成:talk only to your immediate friends,只与你直接的朋友们通信,不要跟“陌生人”说话。

单一职责原则


永远不要让一个类存在多个改变的理由。

换句话说,如果一个类需要改变,改变它的理由永远只有一个。如果存在多个改变它的理由,就需要重新设计该类。

单一职责原则原则的核心含意是:只能让一个类/接口/方法有且仅有一个职责。

 接口分隔原则(Interface Segregation Principle ,ISP)


不能强迫用户去依赖那些他们不使用的接口。

依赖倒置原则(Dependency Inversion Principle ,DIP)


A. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象
B. 抽象不应该依赖于细节,细节应该依赖于抽象 C.针对接口编程,不要针对实现编程。

组合/聚合复用原则(Composite/Aggregate Reuse Principle ,CARP)


尽量使用组合/聚合,不要使用类继承。

 

标签:原则,基类,接口,开闭,面向对象,Principle,派生类,设计
来源: https://www.cnblogs.com/diandianzai/p/16659047.html