美文网首页
面向对象的设计原则

面向对象的设计原则

作者: Adeno | 来源:发表于2017-02-04 22:22 被阅读8次

1、单一职责原则

一个类的功能要单一,只做与它相关的事情。在类的设计过程中要按职责进行设计,彼此保持相互独立。这是因为,每一个职责都存在变化的可能性。一个类如果有一种以上的职责,这些职责就耦合在一起了,会有两种影响:

一是一种职责发生变化时,修改代码可能会影响其他的职责,二是多种职责耦合在一起,会影响代码的复用性。

价值:

•降低类的复杂度:一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多,降低出错的可能性。

•提高代码可读性

•提高系统的可维护性

•变更会引起风险。但变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。

2、开放封闭原则

对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。(派生出子类并对基类进行扩展)

对修改封闭,意味着类一旦设计完成,就可以独立其工作,而不要对类进行任何修改。(不修改类的接口方法或能被外部调用的共用方法的结构,内部代码可以重构的)

价值:

•降低代码的耦合度,保证设计的灵活性,使得代码更易于维护

•减少原有代码的修改次数,使得整个系统更加稳定。

3、里氏替换原则

上世纪80年代,由麻省理工学院的Liskov女士(Barbara Liskov)提出。

含义:子类可以扩展父类的功能,但不要改变父类原有的功能。(扩展意味着新增功能,非重写。如果父类有一方法func1(),返回两个整数的相加,子类需要一个相减的方法时不要重写func1()而是新增方法func2()

价值:

•遵循里氏替换原则,尽量避免子类重写父类的方法.但并不是绝对的,只是尽量避免而已。某些场景下子类确实是需要重写父类的方法时可以绕过此原则。

4、依赖倒置原则

含义:面向接口编程,而不是针对具体实现类编程。

价值:

•降低耦合,减少错误。

•提高并行开发度。

5、接口隔离原则

含义:类不应该依赖它不需要的接口,即尽量细化接口,使每个接口中的方法尽量少。在程序设计中,依赖几个专用的接口要比依赖一个综合的接口更灵活。

简单来说就是接口的粒度不要设计得太粗,尽量细化。

价值:

•通过分散定义多个接口,可以防止需求变更的扩散,提高系统的灵活性和可维护性。

相关文章

  • 面向对象设计原则

    面向对象设计原则 面向对象设计原则是设计模式的基础,每个设计模式都符合一一种或多种面向对象的设计原则。 常用的面向...

  • 面向对象设计原则(二)开闭原则

    面向对象设计原则之开闭原则 开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。 开闭原则的...

  • 01-设计模式原则

    面向对象的设计原则 面向对象的设计原则也被称为SOLID。SOLID原则包括单一职责原则、开闭原则、里氏替换原则、...

  • Swift设计模式----目录

    面向对象设计原则: 开闭原则 单一职责原则 依赖倒置原则 接口分离原则 迪米特法则 里氏替换原则 面向对象设计模式...

  • 面向对象设计原则

    面向对象设计原则

  • (1)面向对象的六大原则

    什么是面向对象原则 面向对象原则——oop(object Oriented Principle),遵循原则设计程序...

  • 设计模式原则-开闭原则

    开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实...

  • 面向对象设计原则

    面向对象设计原则 面向对象设计原则概述[https://www.jianshu.com/p/57137d81c55...

  • 设计模式的原则

    面向对象的原则是面向对象的目标,而设计模式是为了实现这些原则的手段和方法。这也就是为什么要有设计模式。 面向对象的...

  • 六大设计原则详解(6)-开闭原则

    简介: 开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原...

网友评论

      本文标题:面向对象的设计原则

      本文链接:https://www.haomeiwen.com/subject/cvesittx.html