设计模式
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

当你要开发一个小型的系统,整个系统只有两三人开发,系统活不过5年,商业逻辑单纯,程序代码不超过万行,这时,你随便做,影响不大。反之,若要架构大型系统,你需要慎思,套用模型与架构,将前人的经验当作基石,这样系统设计才不至于陷入发散。

然而,你不会一开始就做大系统,风险太高。所以,要练习,最好从小系统开始使用模型与架构,如此才能检讨与学习,日后方能在大系统中自如运用。

企业信息系统现今面临着大量的整合需求,需要提供深入的分析应用和灵活的应变流程。但系统整合的复杂度是彼此系统的复杂度的乘积,系统间的安全、弹性、效率、扩充性、可用性……彼此互相制肘,此时,企业需要接触广、想得深、能定方向的架构师。而熟悉设计模式是架构师的养成基本,要求对于问题的分类与解法有一定的认知。

有经验的智者们,抽象出系统开发的原则与标准问题的设计解法,而 GOF于十几年前提出的23种模式是其中佼佼者。但毕竟空有概念,仍难落实到你日常使用的程序语言。坊间许多图书作者利用不同的程序语言,例如C++、Visual Basic.NET、Java等,实现GOF的23个模式,配合UML的模型说明,让你可以方便地应用在自己的开发环境中。

本书的作者王翔有多年的开发经验,参与过多个千万乃至于十亿的案子,他将经验融于设计模式中,以C#重新实现了GOF的模式,同时加入了新近的设计想法,如SOA与Web Services等,以及相对于其他设计模式图书而言较新的.NET Framework实技术,如泛型、3.0的WCF等。而除了正向地以C#展现多个不同用途的模式,他还提供了日后可重复验证与测试的单元测试码。

系统分析与设计是门艺术,问题的解法与何为问题是交织的,而各模式的搭配使用技巧不同,存乎一心,需要巧思与反复琢磨,方可有好的解法。本书立意明确,除了告诉你问题的类型与解法,还提供了可以立即演绎的程序代码。相信这本案头的工具书可以提供你一个不错的深思起点,造就有弹性、能扩充、易维护的软件实力。

在此提醒你的是,抽象化的思考、封装与重用的设计神髓在心中,而不是落在纸上的程序代码,阅读此书时,不要停止在仅Copy and Paste程序代码。

胡百敬