面向对象设计的原则

2019-09-29  本文已影响0人  yummy觉一

对《大话设计模式》的学习总结,以备后用。

单一职责

就一个类而言,应该仅有一个引起它变化的原因。

如果一个类承担的职责过多,这就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。
软件设计真正要做的事情,就是去发现职责并且把这些职责相互分离。如果你能想到多余一个动机去改变一个类,那么这个类就具有多于一个的职责。

开闭原则

是说软件实体(模块、类、函数等等)应该可以扩展,但不可以修改。
有两个特征:对于扩展是开放的,对于修改是封闭的。

依赖倒转

高层模块不应该依赖底层模式,两个都应该依赖抽象
抽象不应该依赖细节,细节应该依赖抽象

依赖倒转可以说是面向对象设计的标志,用哪种语言编程不重要,如果在编写考虑的都是依赖抽象而不是依赖细节编程,即程序中所有的依赖关系都终于与抽象类和接口,那就是面向对象设计,反之是过程化设计了。

里氏替换原则

子类必须能够替换掉它们的父类型。

上一篇 下一篇

猜你喜欢

热点阅读