设计模式之重要原则

Posted htyj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之重要原则相关的知识,希望对你有一定的参考价值。

单一原则

  单一原则:就一个类而言,应该仅有一个引起它变化的原(ASD)。

  如果一个类承担的职责过多,就等于把这些职责耦合到了一起,一个职责的变化都可能会小柔或者一直这个类的完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。

  所以在软件设计中真正要做的许多内容,就是发现职责并把这些职责相互分离。其实要判断是否应该分离出类来,也不难,那就是如果你能够想到多于一个冬季去改变一个类,那么这类就具有多于一个的职责,就应该考虑类的职责分离了。

开放闭合原则

  开放闭合:指的是软件实体(类、模块、函数等等)对扩展开放,对修改闭合。

  在实际开发中,我们做任何软件都不要指望系统一开始时需求认定,就再也不发生变化,这是不现实也是不科学的想法,而既然需求是一定变化的,那么我们在设计软件时就要做到相对容易修改,不至于在新需求一来,就要把整个程序推倒重来。

  但是,绝对的对修改封闭是不可能的。无论模块是多么的封闭,都会存在一些无法对之封闭的变化。既然不可能完全封闭,设计人员必须对于他设计的模块应该对哪种变化封闭做出选择。他必须先猜测出最优可能发生的变化种类,然后构造抽象来隔离那些变化。当然去猜测一个程序发生的变化可能会比较难,这需要我们有丰富的经验才能做到。另一个途径是当小的变化发生时,就及早的去想办法应对发生更大变化的可能性,这个使我们相对比较容易做到的,对应到我们的实际开发中就是当一个点发生修改时,我们就要根据自己的公司业务特点判断出这点是否可能再次发生类似的变化,从而运用一定的设计模式来应对未来可能的变化。

  我们需要注意的是,越早查明可能发生的变化,我们创建正确的抽象就会越简单,反之,就越困难。

  总之,开放-闭合原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护、可扩展、可复用、灵活性好。开发人员应该仅对程序中蹭线出频繁变化的那些部分做出抽象,然后,对于应用程序中的每个部分都可以的进行抽象同样不是一个好主意。拒绝不成熟的抽象和抽象本身一样的重要。

依赖倒转原则

 

以上是关于设计模式之重要原则的主要内容,如果未能解决你的问题,请参考以下文章

架构师内功心法之设计原则

设计模式七大原则之开闭原则学习

设计模式 - 六大设计原则之DIP(依赖倒置原则)

设计模式 - 六大设计原则之DIP(依赖倒置原则)

设计模式 - 六大设计原则之DIP(依赖倒置原则)

23种设计模式之开闭原则