前言:
在学习设计模式的时候,贯穿二十三个设计模式的始终——设计模式六原则,单一职责原则、开放—封闭原则、依赖倒转原则、迪米特原则、里氏代换原则、合成—聚合复用原则。六大原则,在设计模式的比赛中充当的裁判员的角色。
核心:
·单一职责原则
1.定义
就一个类而言,应该仅有一个引起它变化的原因。
2.实例
手机职责过多,延误拍摄UFO。
3.注意
编程时,在类的职责上多思考,做到单一原则,这样的代码才是易扩展、易维护、易复用,灵活多样。
·开放—封闭原则
1.定义
是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。
特征:
对于扩展是开放的!
对于更改是封闭的!
面对需求的更改,保持相对稳定,使软件不断更新。——开发—封闭原则的启示。
2.实例
对于按时上班,员工迟到现象,解决问题的关键:对工作时间和业绩成效的修改关闭,对时间制度扩展开放。
3.注意
开放—封闭原则是面向对象设计的核心,绝对的封闭是不存在的,我们在设计的时候,时刻考虑让这个类足够好。在面对需求时,对程序的改动是增加新代码,而不是更改先有代码。
·依赖倒转原则
1.定义
高层模块不依赖低层模块,两个都应该依赖抽象
抽象不应该依赖细节,细节应该依赖抽象
2.实例
电脑的主板、CPU、内存等都是针对接口编程,如果针对实现编程,内存需要对应品牌的主板,若换内存就要换对应的主板。
3.注意
针对接口编程,不要对实现编程
·迪米特原则
1.定义
也叫最少知识法则。如果两个类彼此不需要直接通信,那么这两个类,就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转达这个调用。
2.实例
在公司,自己电脑出现了问题直接找IT部的主管,而不需要和公司的其他员工联系,主管会派人员前来维修。
3.注意
强调类之间的松耦合
·里氏转换原则
1.定义
子类型必须能够替换掉它们的父类型。
使继承复用成了可能。
2.实例
猫继承动物,拥有动物吃、跑、叫等行为,如果想要一个狗、牛等,除了更改实例化,其他地方不需要改变。
3.注意
子类继承父类所有非Private的属性和行为。
·合成—聚合复用原则
1.定义
尽量使用合成/聚合,尽量不要使用类继承。
·聚合:是一种弱的拥有关系,A对象包含B对象,但是B不是A的一部分
·合成:是一种强的拥有关系,体现了严格的整体和部分之间的关系,部分和整体的生命周期一样。
2.注意
优先使用对象的合成和聚合。
总结:
设计模式六原则,体现在程序的设计当中,在编程的过程之中,考虑原则,使得自己设计的代码编程的更好!
标签:定义,原则,编程,封闭,实例,设计模式 From: https://blog.51cto.com/u_15586641/5763780