序言
我有幸5岁开始学习编程。成为一名软件开发人员是从初中开始确立的一个目标。大学毕业后因为工作的关系,开始使用Visual C++、Visual Basic进行开发,并在师傅的教导下学习 C#。初识 C#的时候我总会将它和之前接触的语言进行类比,而且一直用C#以很生硬的方式完成工作任务。不过随着行业的快速发展,来自各方面的变化往往在项目中期就不期而至,在很被动地完成几个项目后,我开始寻找尽可能灵活应付这些问题的方法,Enterprise Library、《Design Patterns: Elements of Reusable Object-Oriented Software》和《Patterns of Enterprise Application Architecture》是对我帮助最大的三项资料。通过对它们的了解,我发现C#中充满灵性的内容——托管环境下的自由、灵活,我变得酷爱C#。
模式是一个非常有趣的话题,它是对特定前提下重复出现问题的一个普遍解答,它是一种思想,使用得当也会对设计、实施提供帮助,从这个角度看它又是实实在在的生产率。最近几年单位用.NET 开发的项目越来越多,规模也越来越大,自己经常感觉到需要把一些内容记录下来,并在与同事、同行分享的过程中修正、提炼它们,这也是写本书的主要动力。区别于其他类似的图书,本书强调面向工程化处理,偏重具体实现,同时结合越来越普遍使用的XML技术及.NET 3.0+的技术进行了扩展和完善。在完成GOF4的23种模式后,我感觉到仅仅用这些“搭”项目是不够的,因此继续把一些架构模式、Web服务模式、成例补充进去。不过比较遗憾的是因为时间的关系,忽略了数据库模式、数据访问模式、集成模式。
您可以直接用示例代码做练习,关于本书的示例代码您可通过以下链接免费下载:http://bv.csdn.net/resource/sjms.rar。为了便于了解每个知识点,建议您使用TestDriven.Net逐个运行相关章节示例代码的单元测试,涉及数据库访问的时候,您还需要用到微软的Northwind官方示例数据库。
希望本书能对您的开发有所帮助,当面对各种“不可抗拒”的变化时,您可以从中获得一些启发,能够简洁并直接地应对它们。另外,希望有机会与您就模式和C#语言进行沟通和讨论,书中存在的问题和错误也请您不吝指正。
高级架构师 王翔