软件架构设计的7大原则

1.开闭原则:

是指一个软件实体如类,模块及函数应该对扩展开放对修改关闭。

2.依赖导致原则:

是指设计代码结构时,高层代码不应该依赖底层模块,二者都应该依赖其抽象。

备注:以抽象为基准的架构比细节为基准的架构要稳定的多,所以我们拿到需求之后,要面向接口编程,先顶层再细节来设计代码结构。

3.单一职责原则:

是指不要存在多于一个导致类变更的原因。

(字面意思)

4.接口隔离原则:

是指用多个专门的接口,而不是用一个总接口,客户端不应该依赖它不需要的接口。

5.迪米特原则:

是指一个对象应该对其他对象保持最少了解,又叫最少知道原则,尽量降低类与类之间的耦合。

6.里式替换原则:

是指如果对每一个类型为 T1 的对象 o1,都有类型为 T2 的对象 o2,使得以 T1 定义的所有程序 P 在所有的对象 o1 都替换成o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型

(可以理解为一个软件实体如果适用一个父类的话,那一定是适用于其子类,所有引用父类的地方必须能透明地使用其子类的对象,子类对象能够替换父类对象,而程序逻辑不变)

7.合成复用原则:

是指尽量使用对象组合/聚合,而不是继承关系达到复用的目的。

总结:在设计开发中,并不是一定要求所有代码都遵循设计原则,我们要考虑,人力,成本,时间,质量并不刻意准求完美,要在适当的场景遵循设计原则,体现的是一种平衡取舍,帮助我们设计出更加优雅的代码质量。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 关于设计模式六大设计原则的资料网上很多,但感觉很多地方解释地都太过于笼统化,特此再总结一波。 优化第一步-单...
    ghroost阅读 1,149评论 0 5
  • 一、Redis 1.redis 和 memcached 什么区别? 2.为什么高并发下有时单线程的 redis 比...
    笑起来真好看LQQ阅读 134评论 0 0
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 1,278评论 0 2
  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 1,103评论 0 4
  • 期末考试的到来终止了学术文的更新,考试结束后的疲软期一结束就到了寒假。现在,寒假中过年的忙碌与喧闹渐渐结束,考虑继...
    青禾ws阅读 381评论 0 1