【摘要】 不少人对设计模式都有些疑问或者说是质疑:写代码一定要用设计模式吗?用了设计模式的代码就比没用的好吗?
不少人对设计模式都有些疑问或者说是质疑:
- 写代码一定要用设计模式吗?
- 用了设计模式的代码就比没用的好吗?
为了解答第一个问题,我们需要去调研一下什么是设计模式,这包括了解设计模式产生的初衷、设计模式能否帮我们解决软件问题等;而为了解答第二个问题,就需要去掌握如何使用设计模式,何时何地使用何种设计模式,什么时候应该使用、什么时候需要远离。
什么是设计模式?
前段时间面试候选人的时候问过这个问题——“什么是设计模式?”。候选人答到,“设计模式有单例模式、观察者模式、代理模式......“。我没有打断他,还是顺着问了他对这几个模式的理解。虽然这并不是我想问的,但我猜测会这样回答的人应该不在少数。
“设计模式”或者是“Design Patterns”,无非是一种设计的模式,设计这里是指软件设计,再具体一点是“面向对象的软件设计”,而模式这个概念比较笼统,各行各业都有模式,用白话说就是一种“套路”,是一种可以复制的经验。
提起设计模式,有一本绕不开的经典《设计模式:可复用面向对象软件的基础》,除了设计模式,