【软件架构】【设计原则】总结七大设计原则

举报
huahua.Dr 发表于 2022/09/06 23:19:43 2022/09/06
【摘要】 ​软件中设计原则,总体分为正交设计四原则和SOLID原则,其最终的目的是为了实现软件的高内聚和低耦合架构。其中正交四原则是一种与范式,语言无关的设计原则。为了解决在模块化的过程中,如何让软件在长期范围内更容易应对变化。包括:消除重复。体现了内聚性,也就是单一职责和迪米特法则的表现分离关注点。是整个模块化思想的延伸,组合复用原则的体现缩小依赖范围。体现高内聚向稳定的方向依赖。是接口分离原则换了...

​软件中设计原则,总体分为正交设计四原则和SOLID原则,其最终的目的是为了实现软件的高内聚和低耦合架构。

其中正交四原则是一种与范式,语言无关的设计原则。为了解决在模块化的过程中,如何让软件在长期范围内更容易应对变化。包括:

  • 消除重复(被动)。体现了低耦合
  • 分离关注点(主动)。也叫分离不同方向变化,是整个模块化思想的延伸,也就是单一职责和组合复用的表现
  • 缩小依赖范围(主动)。体现高内聚,迪米特法则的表现
  • 依赖与稳定(主动)。耦合点的体现,依赖稳定的接口;是接口分离原则换了一个说法

SOLID原则指的就是单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)、依赖倒置原则(DIP)

一、开闭原则OCP

简介

  • 指的是一个软件实体(类或接口、模块和函数)对外拓展开放,对修改关闭,在Java面向对象中使用抽象思想达到目的。
  • 强调使用抽象构建框架,用实现拓展细节。
  • 抽象出一个类,使用不同的子类去继承或实现该类,面对不同需求只需子类去拓展该类即可,不必而需求变化而去修改该类的方法或属性


二、依赖倒置原则

简介

  • 也叫依赖注入。高层模块不依赖底层模块,两者都依赖抽象,也是使用抽象的基本思想。
  • 高层使用者只拥有一个抽象出来的顶层类,顶层类的实现者有很多,高层不关心这些实现者,只需要这些实现者在运行的时候注入到高层里面,就可以调用实现了顶层类里指定的方法了。


三、单一职责原则

简介

  • 一个类、接口、方法只负责一项职责。


四、接口隔离原则

简介

  • 一个类对另一个类的依赖建立在最小接口之上。
  • 建立单一职责接口,接口内的方法不能太臃肿。
  • 细化接口,接口中的方法尽可能少。


五、迪米特原则

简介

  • 一个对象应该对其他对象保持最少的了解,又叫最少知道原则,降低类与类之间的耦合度。
  • 强调只和朋友说话,不与陌生人交流。类中出现在成员变量的类、方法输入输出的类都是成员朋友;出现在方法体内部的类不属于朋友类。
  • 只关心朋友,不在意陌生人;代码中尽量不要出现陌生人


六、里氏替换原则

简介

  • 子类对象可以替换成父类对象,子类对象可以拓展父类对象而不改变父类的方法和属性


七、合成复用原则

简介

  • 尽量使用对象组合或聚合而不是继承达到软件复用的目的。
  • 这样可以增加灵活性,降低类与类之间的耦合性。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。