【软件架构】【设计原则】总结七大设计原则
【摘要】 软件中设计原则,总体分为正交设计四原则和SOLID原则,其最终的目的是为了实现软件的高内聚和低耦合架构。其中正交四原则是一种与范式,语言无关的设计原则。为了解决在模块化的过程中,如何让软件在长期范围内更容易应对变化。包括:消除重复。体现了内聚性,也就是单一职责和迪米特法则的表现分离关注点。是整个模块化思想的延伸,组合复用原则的体现缩小依赖范围。体现高内聚向稳定的方向依赖。是接口分离原则换了...
软件中设计原则,总体分为正交设计四原则和SOLID原则,其最终的目的是为了实现软件的高内聚和低耦合架构。
其中正交四原则是一种与范式,语言无关的设计原则。为了解决在模块化的过程中,如何让软件在长期范围内更容易应对变化。包括:
- 消除重复(被动)。体现了低耦合
- 分离关注点(主动)。也叫分离不同方向变化,是整个模块化思想的延伸,也就是单一职责和组合复用的表现
- 缩小依赖范围(主动)。体现高内聚,迪米特法则的表现
- 依赖与稳定(主动)。耦合点的体现,依赖稳定的接口;是接口分离原则换了一个说法
SOLID原则指的就是单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)、依赖倒置原则(DIP)
一、开闭原则OCP
简介
- 指的是一个软件实体(类或接口、模块和函数)对外拓展开放,对修改关闭,在Java面向对象中使用抽象思想达到目的。
- 强调使用抽象构建框架,用实现拓展细节。
- 抽象出一个类,使用不同的子类去继承或实现该类,面对不同需求只需子类去拓展该类即可,不必而需求变化而去修改该类的方法或属性
二、依赖倒置原则
简介
- 也叫依赖注入。高层模块不依赖底层模块,两者都依赖抽象,也是使用抽象的基本思想。
- 高层使用者只拥有一个抽象出来的顶层类,顶层类的实现者有很多,高层不关心这些实现者,只需要这些实现者在运行的时候注入到高层里面,就可以调用实现了顶层类里指定的方法了。
三、单一职责原则
简介
- 一个类、接口、方法只负责一项职责。
四、接口隔离原则
简介
- 一个类对另一个类的依赖建立在最小接口之上。
- 建立单一职责接口,接口内的方法不能太臃肿。
- 细化接口,接口中的方法尽可能少。
五、迪米特原则
简介
- 一个对象应该对其他对象保持最少的了解,又叫最少知道原则,降低类与类之间的耦合度。
- 强调只和朋友说话,不与陌生人交流。类中出现在成员变量的类、方法输入输出的类都是成员朋友;出现在方法体内部的类不属于朋友类。
- 只关心朋友,不在意陌生人;代码中尽量不要出现陌生人
六、里氏替换原则
简介
- 子类对象可以替换成父类对象,子类对象可以拓展父类对象而不改变父类的方法和属性
七、合成复用原则
简介
- 尽量使用对象组合或聚合而不是继承达到软件复用的目的。
- 这样可以增加灵活性,降低类与类之间的耦合性。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)