设计模式 -- 设计原则

253 阅读2分钟

设计模式有 六大设计原则,最经典的23种设计模式中一般都使用这些设计原则进行设计的。掌握好这六大设计原则比掌握设计模更为重要(个人觉得),掌握了这六大设计原则,可以让我们更好的使用设计模式。甚至于日常敲代码的实践中,基于这六大设计原则我们也在无形中使用了设计模式。

设计原则(Design Principle)

  • 依赖倒置原则(Dependence Inversion Principle ,DIP)
  • 单一职责原则(Single Responsibility Principle,SRP)
  • 开放封闭原则(Open Closed Principle,OCP)
  • 里氏替换原则(Liskov Substitution Principle, LSP)
  • 接口隔离原则(Interface Segregation Principle)
  • 最少知识原则(Least Knowledge Principle,LKP)

1.依赖倒置原则

高层模块不应该依赖于底层模块,高层和底层模块都应该依赖于抽象。

抽象不应该依赖于细节,细节应该依赖于抽象。

2.单一职责原则

就一个类而言,应该仅有一个引起它变化的原因。如果一个类有多个原因引起了变化,那么就要思考是否要把类分开了。类的职责应该是单一的,不同的类具有不同的职责,类与类之间也要分工协作,互不影响,各司其职。

3.开放封闭原则

软件实体(类、模块、函数等)应该可以扩展,但是不能修改。对扩展开放,对修改关闭。 在实际开发中,我们应去扩展类,而不是去修改类。

4.里氏替换原则

子类型必须能够替换掉它们的父类型。当子类能够替换掉父类,且软件的行为没有发生变化,此时父类才能真正的被复用,而子类也能够在父类的基础上增加新的行为。里氏替换原则使得继承复用成为了可能。

5.接口隔离原则

一个类与另一个类之间的依赖性,应该依赖于尽可能小的接口,不必要向外暴露不必要的内容。

6.最少知识原则

Only talk to you immediate friends.

只和你直接的朋友交互,也就是:高內聚,低耦合。不要做过多的无聊的交互,只交互最有价值最简洁的内容。