导图社区 软件设计原则包括
软件设计原则是指导程序员编写高质量软件的指南,其中包括单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、组合/聚合复用原则、面向对象设计、高内聚低耦合和追求最简设计。
编辑于2021-06-03 23:57:44软件设计原则包括
单一职责
一个类只负责一个职责或功能
这样可以提高类的内聚性,降低类的复杂度,增加类的可维护性
同时也能提升代码的重用性和测试的可行性
拆分功能到不同的类中,每个类专注于自己的职责
开闭原则
软件设计应该对扩展开放,对修改封闭
当需求变化时,应该通过扩展已有的代码来满足需求,而不是修改已有的代码
通过抽象化和面向接口编程,可以减少对具体实现的依赖,从而实现开闭原则
里氏替换
子类对象可以替换父类对象出现的任何地方,而不影响程序的正确性
子类应该完全继承父类的接口规范,但可以有自己特定的实现方式
各个子类之间的差异应该通过重写来体现,而不是通过修改父类的原有代码
遵守里氏替换原则可以提高程序的可拓展性和可维护性
依赖倒置
高层模块不应该依赖于低层模块,而是应该依赖于抽象接口
面向接口编程可以减少类之间的直接耦合,降低代码的脆弱性
通过依赖倒置可以实现模块之间的解耦,提高代码的可测试性和可维护性
接口隔离
客户端不应该强依赖于它们不使用的接口
接口应该按照职责进行划分,每个接口应该只包含一个客户端所需的方法
这样做可以减少不必要的依赖,提高代码的内聚性和可复用性
接口隔离原则可以避免接口的“臃肿”,提高代码的灵活性和可维护性
迪米特法则
一个对象应该尽量减少与其他对象之间的直接交互
每个对象只与其朋友进行通信,不与陌生对象发生直接联系
通过减少对象之间的耦合关系,可以实现软件系统的松耦合
迪米特法则可以提高代码的可维护性和可扩展性
组合/聚合复用
倾向于使用组合和聚合的关系,而不是使用继承关系来达到复用的目的
组合和聚合关系更灵活、更易于扩展和维护,同时也降低了类之间的耦合性
组合/聚合复用原则可以提高代码的模块化程度,增加系统的稳定性和可维护性
面向对象设计
使用面向对象的思想和方法进行系统设计和开发
面向对象的设计强调对真实世界的建模,通过封装、继承和多态等概念来实现系统的可复用性和可扩展性
面向对象设计可以提高代码的可维护性和可测试性,降低系统的复杂度
高内聚低耦合
模块内部的元素彼此紧密关联,共同完成某一特定功能,即高内聚
模块之间的依赖关系尽可能松散,减少相互之间的影响,即低耦合
高内聚低耦合原则可以提高代码的模块化程度,增加系统的扩展性和可维护性
追求最简设计
设计应该尽可能简单、清晰,避免过多的复杂性
避免不必要的功能和复杂的结构,保持代码的简洁性和可读性
追求最简设计原则可以提高代码的可理解性、可维护性和可测试性