帮你造就有弹性、能扩充、易维护的软件实体



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

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

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

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

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

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

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

微软MVP,台湾恒逸资讯资深讲师,“数据库铁人”  胡百敬

posted @ 2008-11-19 10:08  博文视点  阅读(528)  评论(0编辑  收藏  举报