六大设计原则

六大设计原则SOLID

单一职责原则(Single Responsibility Principle)

单一职责原则:应该有且仅有一个原因引起类的变更。

单一职责指的是,一个类,一个函数(方法)只负责一个单一的职责。

  • 降低复杂度提高代码的可读性
  • 提高可维护性

开闭原则(Open Closed Principle)

类、模块、函数,可以去扩展,但不要去修改。如果要修改代码,尽量用继承或组合的方式来扩展类的功能。

开闭原则是指一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。也就是说一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。

  • 提高复用性
  • 提高可维护性

里氏替换原则(Liskov Substitution Principle)

里氏替换原则:所有引用基类的地方必须透明的使用其子类的对象。

该原则是为了解决继承extends的侵入性、灵活性和耦合度。历史替换原则通俗的说就是父类能出现的地方,子类就可以出现,而且替换为子类也不会产生任何错误或异常。增加代码的健壮性和兼容性。

  • 子类必须完全实现父类的方法
  • 子类可以有自己的个性
  • 覆盖或实现父类的方法时输入参数可以被放大(函数的重载)
  • 覆写或实现父类的方法时输出结果可以被缩小

迪米特法则(Law of Demeter)

一个对象应该对其他对象有最少的了解

迪米特法则又叫最少知道原则,即一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除了提供的 public 方法,不对外泄露任何信息。

  • 类间解耦,肉耦合后提高类的复用率

接口隔离原则(Interface Segregation Principle)

接口隔离原则:不要对外暴露没有实际意义的接口。

  • 接口要尽量小(根据接口隔离原则拆分接口时,首先必须满足单一职责原则。)
  • 接口要高内聚(高内聚就是提高接口、类、模块的处理能力,减少对外的交互。)
  • 定制服务(采用定制服务就必然有一个要求:只提供访问者需要的方法)
  • 接口设计是有限度的(接口的设计粒度越小,系统越灵活,这是不争的事实。但是,灵活的同时也带来了结构的复杂化,开发难度增加,可维护性降低,)

依赖倒置原则(Dependence Inversion Principle)

依赖倒置原则:高层模块不应该依赖于低层模块,而应该依赖于抽象。抽象不应依赖于细节,细节应依赖于抽象。

  • 依赖倒置原则可以减少类间的耦合性,提高系统的稳定性,降低并行开发(多人)引起的风险,提高代码的可读性和可维护性。
posted @ 2023-01-20 22:16  wanglei1900  阅读(44)  评论(0编辑  收藏  举报