设计模式

王翔
导 读 本书的应用背景 面向对象设计模式,也就是本书简称的“设计模式”,是软件设计过程中,通过面向对象的方法对相近似的问题,在指定上下文范围内给予的指导性解决方案。模式的主要价值在于它们是以往经验的浓缩,尤其在我们建立复杂系统的时候,借鉴和采用模式可以让我们少走弯路,其设计比较灵活并具有不错的扩展性。 和15年前相比,现在的开发工作更强调对于业务变化的适应性。虽然有各种方法学帮助我们以尽量小的代价适应这些变化,但相信没有多少人愿意对一个已经基本完成的系统进行结构性设计修改,即便修改也希望尽可能地集中在一个点上。但现实的情况总和我们作对:业务实体这个本应该相对稳定的对象,在信息化快速建设过程中被赋予了多变的特质;业务流程和操作功能总是进行着“家常”式的变化;为了适应更广泛的服务对象,我们开发的产品需要不断集成更多的第三方产品、需要支持更多的IT产品;最后,还有会更加多变的未来。技术上虽然各种开发方法、架构技术都试图让80%的开发人员仅仅关注业务逻辑的实现,但很多情况下这都是美好的愿景。简言之,开发人员处在一个夹缝之中,如果不尽量让自己的设计更具弹性,则很容易让本已经满负荷的工作不断加码。 对于准一次性代码而言,应用设计模式常常会成为负担;但对于公共库、公共平台、领域通用软件而言,合理使用设计模式则是避免“坏”设计的一个有效途径:  避免僵化。  增加重用性。  以适度的复杂性应对可预见的变化。 因此,如果您要“坚守”某一块代码,而且该代码总是受到打压不得不适应各种变化的话,您可以在抽象的基础上发掘变化的诱因,如果需要,参照贴近的模式设计并实现。那么为什么基于.NET Framework呢?因为.NET Framework已经被MySpace等众多成功的电子商务站点所验证,它完全可以支撑大型应用运行维护;至于选择C#而不是Java和C++,也许是因为C#语言更优美吧。…