基本信息
- 原书名:Professional ASP.NET Design Patterns
- 原出版社: Wrox
内容简介
计算机书籍
《ASP.NET设计模式》涵盖了开发企业级ASP.NET应用程序的知名模式和最佳实践。本书用到的模式可以用于从ASP.NET 1.0到ASP.NET 4.0的任何版本。不必管模式本身所用的语言,可以将模式用于任何面向对象编程语言。
《ASP.NET设计模式》是为那些熟悉.NET框架但希望了解如何改进编码方式以及如何运用设计模式、设计原则和最佳实践来提高代码的可维护性和适应性的ASP.NET开发者而写的。那些以前已经体验过设计模式的读者可能希望跳过本书的第Ⅰ部分,这部分介绍了GoF提出的设计模式以及其他常见设计原则,包括S.O.L.I.D原则和Martin Fowler的企业设计模式。所有的代码示例均采用C#语言编写,但这些概念可以非常轻松地用于VB.NET。
作译者
目录
第Ⅰ部分 模式与设计原则
第1章 成功应用程序的模式 3
1.1 设计模式释义 3
1.1.1 起源 4
1.1.2 必要性 4
1.1.3 有效性 4
1.1.4 局限性 5
1.2 设计原则 5
1.2.1 常见设计原则 5
1.2.2 S.O.L.I.D.设计原则 6
1.3 Fowler的企业设计模式 7
1.3.1 分层 7
1.3.2 领域逻辑模式 7
1.3.3 对象关系映射 8
1.3.4 Web表示模式 9
1.3.5 基本模式、行为模式和结构模式 9
1.4 其他有名的设计实践 10
1.4.1 测试驱动设计 10
1.4.2 领域驱动设计 10
译者序
针对这些开发问题,人们提出了多种解决办法。通过更灵活的应用程序设计框架、更细致的应用程序分层设计、更多地采用经过实践检验的模式和原则,改进应用程序的代码结构。本书系统地介绍了在解决ASP.NET应用程序开发问题的过程中涉及的各种设计模式和设计原则,对编写具有更好结构的代码具有很大的启示。如果读者了解Java开发中普遍使用的Spring、Struts、Hibernate等框架/技术,那么对本书的内容应该会比较熟悉。此外,书中采用了多种流行的开源工具来解决实际的问题,对于实际的编码工作也有极好的借鉴作用。
值得一提的是,随着.NET 4框架的发布,微软推出的ASP.NET MVC框架也日趋成熟。阅读本书并掌握书中提到的设计理念和实现工具,对于更好地理解ASP.NET MVC框架中的概念颇有益处。
译 者
前言
读者对象
本书是为那些熟悉.NET框架但希望了解如何改进编码方式以及如何运用设计模式、设计原则和最佳实践来提高代码的可维护性和适应性的ASP.NET开发者而写的。那些以前已经体验过设计模式的读者可能希望跳过本书的第Ⅰ部分,这部分介绍了GoF提出的设计模式以及其他常见设计原则,包括S.O.L.I.D原则和Martin Fowler的企业设计模式。所有的代码示例均采用C#语言编写,但这些概念可以非常轻松地用于VB.NET。
主要内容
本书涵盖了开发企业级ASP.NET应用程序的知名模式和最佳实践。本书用到的模式可以用于从ASP.NET 1.0到ASP.NET 4.0的任何版本。不必管模式本身所用的语言,可以将模式用于任何面向对象编程语言。
结构安排
本书既可以作为一个分步推进的指南,也可以作为闲暇时随意翻阅的常备参考书。本书分为3个部分。第Ⅰ部分介绍了模式和设计原则。第Ⅱ部分讲解如何在ASP.NET应用程序的不同层中使用模式和原则。第Ⅲ部分展示了一个完整的研究案例,用来演示本书涵盖的多个模式。既可以在阅读研究案例之前通读各章内容;也可以首先阅读研究案例,然后在涉及具体的模式和原则时再回过头来查阅第Ⅱ部分以获取更详细的内容,这种紧密结合实际的方法可能会让学习过程变得更加轻松。
第Ⅰ部分 模式与设计原则
本书第Ⅰ部分首先介绍设计模式概念、企业模式及设计原则,包括S.O.L.I.D.设计原则。
第1章:成功应用程序的模式
该章研究了专业开发者为何需要理解设计模式和原则,以及(更重要的是)如何在实际的企业级应用程序中加以利用。该章讲解了GoF设计模式的起源、它们在当今世界中的关联性以及与具体编程语言脱钩。然后浏览了一些常见设计原则和S.O.L.I.D.设计原则,最后描述了Fowler的企业模式。
第2章:剖析模式的模式
该章介绍了使用模式模板所需的实用知识以及如何利用设计模板来阅读GoF设计模式。然后将教您如何理解设计模式分类,并讲解如何选择和应用设计模式。最后给出了一个示例来演示如何重构现有的代码,以便使用设计模式和原则来提升可维护性。
第Ⅱ部分 剖析ASP.NET应用程序:学习并应用模式
本书的第Ⅱ部分演示如何将前两章介绍的模式和原则运用到企业级ASP.NET应用程序的各个层次中。
第3章:应用程序分层与关注点分离
该章描述了分层设计与传统的ASP.NET Web表单代码隐藏模型相比所具有的优势。该章继续讲解逻辑分层和应用程序关注点分离的概念。然后定义了企业级ASP.NET应用程序中各个不同层次的职责,这部分的其他几章将讨论这些层次。该章最后是一个练习,将一个Smart UI反模式按照分层体系结构方法进行重构。
第4章:业务逻辑层:组织
该章涵盖了为组织业务逻辑层而设计的模式。该章首先描述了Transaction Script模式;然后是Active Record模式,并利用一个使用Castle Windsor项目的练习来演示该模式;最后一个模式是Domain Model模式,用NHibernate练习进行演示。该章最后评论了领域驱动设计(domain-driven design,DDD)方法学,以及如何运用该方法学将精力集中在业务逻辑而非基础设施。
第5章:业务逻辑层:模式
序言
著名建筑学家克里斯托弗·亚历山大曾经说过:
每种模式描述了一个在我们周围不断重复发生的问题,以及该问题解决方案的核心,这样你就可以一次又一次地使用该方案而不必做重复劳动。
GoF(Gang of Four,稍后就会学习相关内容)为软件工程师写了第一本有关设计模式的书籍时,是该学科第一次正式地表达模式。在本书中,我们不仅会学习模式,还将学习反模式以及从中吸取什么教训。
有时候最佳实践并不总是那么清晰,而在ASP.NET中将设计模式映射到真实的用例并非易事。Scott Millett的这本著作介绍了一些经过时间检验的设计模式,讲解如何阅读它们,然后以一种具体的、明确的方式运用它们来解决ASP.NET程序员每天都必须处理的问题。
与那些乏味空洞的作品不同,本书包含大量的代码,作者努力将各个知识点串接起来,让这些模式在开发者的日常工作中变得鲜活起来,可加以运用并取得实际效果。在这个过程中,Millett不仅讲解了微软的ASP.NET现有的模式,而且还展示了开源软件中的一些佼佼者,如Castle ActiveRecord、StructureMap、AutoMapper和NHibernate。
从GoF到Robert C Martin(又称Bob大叔)的S.O.L.I.D.原则,再到Fowler的企业模式,Scott(多么可爱的名字)将这些永恒的模式与现今的最新技术(如jQuery和JSON、Entity Framework以及WCF)结合到一起。
阅读这本佳作是一次愉悦的体验,希望您也一样。
Scott Hanselman
微软公司程序经理
http://hanselman.com,Twitter账号@shanselman