【有毒的设计模式】单一指责原则、开放-封闭原则、依赖倒转原则、里氏代换原则

//先来说说废话:

这次就没什么好吐槽了,就是说三个简单的原则,开发过程中需要注意


//正文:

一、单一指责原则(SRP)

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

2.如果一个类承担的职责过多,就等于把这些耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。

  这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏[ASD]


二、开放封闭原则(OCP)

1.软件实体(类、模板、函数)应该可以扩展、但是不可修改[ASD]

  对于扩展开放、对于修改封闭。(多扩展少修改)

2.在我们最初编写代码的时候,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化[ASD]

3.优点在于:可维护、可扩展、可复用、灵活性好。开发人员应该仅对程序中呈现出频繁变化的那些部分做出抽象。拒绝不成熟的抽象[ASD]


三、依赖倒转原则

1.高层模块不应该依赖低层模块。两个都应该依赖抽象。

2.抽象不应该依赖细节。细节应该依赖抽象。


四、里氏代换原则(LSP)

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

2.只有当子类可以替换掉父类,软件单位的功能不受影响时,父类才能真正地被复用,而子类也能够在父类的基础上增加新的行为


回看OCP,由于子类型的可替换性才使得使用父类类型的模块在无需修改的情况下可以扩展


回看依赖倒置原则,依赖倒转原则可以说是面向对象设计的标志,针对抽象编程而不是针对细节编程,这就是面向对象而不是面向过程

你可能感兴趣的:(设计模式)