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进行处理,非常感谢!