02-七大设计原则

nobility 发布于 2020-05-11 2410 次阅读


七大设计原则

开闭原则

含义:对扩展开放,对修改关闭,即尽量不源代码修改,而是增加新代码

优点:提高了软件系统的可维护性和可复用性

单一职责原则

含义:一个类只有一个导致类改变的原因,也就是说一个类、接口、方法都只负责一项职责

优点:降低类的复杂度,提高类的可读性、提高系统的可维护性,降低程序变更所造成的风险

接口隔离原则

含义:使用多个专门的接口,而不使用单一的总接口,即接口功能分离,接口中方法尽量少,客户不应该依赖它不需要的接口

优点:高内聚低耦合,提高类的可读性、可扩展性、提高系统的可维护性

里氏替换原则

含义:能用父类完成的功能,一定能透明的替换成子类来完成,即子类可以扩展父类功能,但不能改变父类原有功能

  1. 子类可以增加新方法,可以实现父类抽象方法,但不能覆盖父类非抽象方法,从而不会改变父类原有功能
  2. 子类重载父类方法时,方法的参数应该比父类更加宽松,返回值要和父类相等或更严格,从而不会调用到子类方法或直接显示报语法错误,也就不会改变父类原有功能

优点:约束继承的泛滥,变更程序时有更好的兼容性,加强程序的健壮性,提高程序的可维护性和可扩展性,降低程序修改所造成的风险

依赖倒置原则

含义:高层模块不依赖底层模块,二者都应该依赖于抽象,即抽象不依赖细节,细节依赖抽象,也就是不关注内部实现,依赖接口编程,而不是依赖实现编程

优点:减少类之间的耦合、提高系统稳性,提高代码可读性和可维护性,降低程序修改所造成的风险

迪米特法则(最少知道原则)

含义:一个对象一个对其他对象保持最少了解,即只与该对象的成员变量、方法参数和方法返回值所耦合的对象通信

优点:减少类之间的耦合

合成复用原则(组合复用原则)

含义:尽量使用对象组合和聚合关系,而不是继承关系达到软件复用目的

优点:减少类之间的耦合,一个类的变化对其他类造成的影响相对较少,可以使系统更加灵活

此作者没有提供个人介绍
最后更新于 2020-05-11