写在前面
设计模式贯穿软件开发整个过程,虽然看了很多相关的文章和书籍,但是理解和使用感觉都差点儿意思。
所以借再看设计模式——《漫谈设计模式,从面向对象开始》,梳理其中精髓的设计思想。
为什么需要设计模式?
变化是永恒的
无论你处于多大的团队,团队采用什么样的开发模式,你总是能听到这样的一句话:
The Only Thing In The World That Doesn't Change Is Change Itself. 世界上唯独不变的是变化本身。
出于从容应对软件开发中的变化,降低软件开发中的风险,成为这一方面的佼佼者,我们学习和使用设计模式就显得很关键了。
在软件开发中,我们经常会遇到诸如,需求变化,技术变化,团队结构变化,公司一些出于利益考虑对软件开发的干涉。
开发还是维护
Andy Hunt 和 Dave Thomas 在 “The Pragmatic Programmer” 一书中认为,软件开发人员始终处于软件维护过程中,原话如下:
Programmers are constantly in maintence mode. Our understanding changes day by day. New requirements arrive as we're designing or coding. Perhaps the environment changes. Whatever the reason, maintenance is not a discrete activity, but a routing part of the entire development process.程序员一直处于维护状态,我们的理解每天都在发生变化,当我们设计和编码时,新的需求总是接踵而至,或许是由于环境的原因吧。不管是什么原因,维护不是一个离散的行为,而是整个日常软件开发的一部分。
使用模式乍一看是增加了代码的复杂度,增加了维护了成本,但我更觉得这降低了维护软件所带来的风险,维护代码的前提是必须去了解代码的设