根本不存在充分分析这种东西,无论花多少时间去找出完美的软件结构,客户总是会引入一个变化来破坏这种结构。
这种情况是无法避免的。不存在完美的结构。只存在那些试图去平衡当前的代价和收益的结构。随着时间的过去,这些结构肯定会随着系统需求的改变而改变。管理这种变化的诀窍是尽可能的保持系统的简单,灵活。
模式是既能带来好处又具有代价的东西,你应该使用那些最适合手边问题的模式。
代码往往会腐化。随着我们添加一个又一个的特性,处理一个又一个的错误,代码的结构会逐渐退化。如果对此置之不理的话,这种退化最终会导致纠结不清,难以维护的混乱代码。