何为设计模式
在学习编程的过程中,系统业务的不断增加,代码量也随之呈倍数增加。其中部分业务是相似的,这就涉及到了代码复用的问题。代码复用可不是简简单单的复制粘贴,而是有一套自己的道道,设计模式就是用来干这个的。
设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,即面向对象设计中反复出现的问题的解决方案。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。
设计模式遵循的原则
聊完了什么是设计模式,接下来便来聊一聊设计模式自1987年首次提出至今使用过程中依据经验总结出的六大原则。
- 开-闭原则
Bertrand Meyer : Software entities should be open for extension,but closed for modification.
模块应尽量在不修改原代码的情况下进行扩展,即抽象架构,扩展实现
-
里氏替换原则
如果调用父类的话,那么换成子类也完全可以执行。也即面向对象的多态特性。子类扩展父类。
-
依赖倒转原则
顾名思义,细节依赖抽象,下层依赖上层。传递参数,或者在组合聚合关系中,尽量引用层次高的类。这样的好处是构造对象时可以动态的创建各种具体对象。
-
接口隔离原则
建立单一接口。
-
单一职责原则
一个类和方法只干一件事。
-
迪米特法则
一个软件实体应当尽可能的少与其他实体发生相互作用。每一个软件单位对其他软件单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。主要目的在于降低类之间的耦合。
设计模式分类
设计模式依据不同模式的具体作用分为三大类:创建模式、结构模式、行为模式。
接下来,我便会对不同类型的创建模式分篇总结。
参考: