软件价架构设计原则

1.开闭原则:

一个软件实体(如类,模块或函数)应该是对拓展开发,对修改关闭,开闭原则是面向对象设计中最基础的设计原则

如:版本更新,尽可能不修改源代码,但是可能增加功能

2.依赖倒置原则:

设计代码时,高层模块不应该依赖底层模块,二者都应该依赖其抽象,抽象不应该依赖细节,细节应该依赖抽象。通过依赖倒置,可以减少类与类之间的耦合性,提高系统的稳定性,提高代码的可读性和维护性,并且能够降低修改程序所造成的风险

3.单一职责原则

不要存在多于一个导致类变更的原因。假设我们一个类负责两个职责,一旦发生需求变更,修改其中一个职责的逻辑代码,有可能导致另一个职责功能发生故障,这个类就存在两个导致类变更的原因

4.接口隔离原则

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

单一原则在设计接口时需要注意

1.一个类对另一个类的依赖应该建立在最小的接口之上

2.建立单一接口,不需要建立庞大臃肿的接口

3.尽量细化接口,接口中的方法尽量少,不是越少越好,一定要适度

接口隔离原则符合高内聚,低耦合设计思想

5.迪米特原则

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

强调只和朋友交流,不和陌生人说话

出现在成员变量,方法的输入,输出参数中的类都可以成为朋友,而出现在方法体内部的类不属于朋友

6.里氏替换原则

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

7.合成复用原则

尽量使用对象组合/聚合而不是继承关系达到软件复用的目的,可以使系统更加灵活,降低类与类之间的耦合度,一个类的变化对其他类造成的影响相对较少

设计原则的总结

学习设计原则是学习设计模式的基础,在实际开发过程中,并不要去所有代码都遵循设计原则,我们要考虑人力,时间,成本,质量,不能刻意追求完美,但要在适当的场景遵循设计原则,这体现的是一种平衡取舍,刻意帮助我们设计出更加优雅的代码结构 。

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91537 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年2月15日
下一篇 2020年2月15日

相关推荐