文章目录
- 系列文章目录
- [0]设计模式-设计原则
- [1]设计模式-策略模式
- [2]设计模式-观察者模式(手动实现)
- [3]设计模式-观察者模式(内置模型)
- [4]设计模式-观察者模式(JFrame)
- 前言
- 设计原则一:
- 设计原则二:
- 设计原则三:
- 设计原则四:
- 设计原则五:
- 总结
前言
设计原则会从头到尾贯穿所有的设计模式,也是面试的重点,此文章会动态更新所有的设计原则。
设计原则一:
找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。(找出程序变化的方面,然后将其和固定的方面相分离)
设计原则二:好处:把变化的部分取出来并“封装”起来,好让其他部分不受到影响。让代码变化引起的不经意后果变少,系统变得更有弹性。以便于以后可以轻松的改动或者进行拓展,而不影响不需要变化的部分。
针对接口编程,而不针对实现编程。
设计原则三:好处:当我们的接口有多个实现,每个实现有自身的方法,让各自去进行实现各自的方法,接口也可以针对自身的业务抽象出多个接口,然后实现采取按需实现的逻辑,进行组合。
多用组合,少用继承。
设计原则四:好处:使用组合建立系统有很大的弹性,不仅仅可以将算法族封装成类,更可以“在运行时动态地改变行为”,只要组合的行为对象符合正确的接口标准即可。动态的改变行为,依赖于java基础中的多态思想。
为了交互对象之间的松耦合设计而努力。
设计原则五:好处:松耦合的设计让对象之前的互相 依赖降到了最低。方便我们建立有弹性的oo系统,能够应对变化。A的变化不为影响B,B的影响不会改变A,双方之间只要不改变约定,就可以没有感知的相互传递。
开放-关闭原则(类应该对扩展开放,对修改关闭)
好处:这样的设计更具有弹性,可以接收新的功能来应对改变的需求。但是我们不可能所有的代码都遵循这个原则,设计同时具备开放性和关闭性的代码,需要花费不少的精力。所有我们只需要把需要用到该场景和可能以后会用的地方使用这个设计原则去进行改善。我们在选择需要被扩展的代码部分需要小心,每个地方采用开放-关闭原则,是一种浪费,还未导致代码变得复杂且难以理解。
总结
希望本文章对大家的代码编写有所提升,可以的化给作者一个小心心,万分感谢。



