下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
读书 > Web开发 >ASP > ASP.NET设计模式

ASP.NET设计模式

综合评级:★★★★★

定价:79.80

作者:(美)米里特(Millett, S.)著,杨明军 译

出版社:清华大学出版社

出版日期:2011年11月

页数:677

字数:1167000

ISBN:9787302267027

书籍介绍
  《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章 成功应用程序的模式

  1.1 设计模式释义

  1.1.1 起源

  1.1.2 必要性

  1.1.3 有效性

  1.1.4 局限性

  1.2 设计原则

  1.2.1 常见设计原则

  1.2.2 S.O.L.I.D.设计原则

  1.3 Fowler的企业设计模式

  1.3.1 分层

  1.3.2 领域逻辑模式

  1.3.3 对象关系映射

  1.3.4 Web表示模式

  1.3.5 基本模式、行为模式和结构模式

  1.4 其他有名的设计实践

  1.4.1 测试驱动设计

  1.4.2 领域驱动设计

  1.4.3 行为驱动设计

  1.5 小结

 第2章 剖析模式的模式

  2.1 如何阅读设计模式

  2.1.1 GoF模式模板

  2.1.2 简化模板

  2.2 设计模式分组

  2.2.1 创建型

  2.2.2 结构型

  2.2.3 行为型

  2.3 如何选择和运用设计模式

  2.4 快速模式示例

  2.4.1 根据设计原则进行重构

  2.4.2 根据Adapter模式进行重构

  2.4.3 利用企业模式

  2.5 小结

第Ⅱ部分 剖析ASP.NET应用程序:学习并应用模式

 第3章 应用程序分层与关注点分离

  3.1 应用程序体系结构与设计

  3.1.1 反模式:智能UI

  3.1.2 分离关注点

  3.2 小结

 第4章 业务逻辑层:组织

  4.1 理解业务组织模式

  4.1.1 Transaction Script

  4.1.2 Active Record

  4.1.3 Domain Model

  4.1.4 Anemic Domain Model

  4.1.5 领域驱动设计

  4.2 小结

 第5章 业务逻辑层:模式

  5.1 应用设计模式

  5.1.1 Factory Method模式

  5.1.2 Decorator模式

  5.1.3 Template Method模式

  5.1.4 State模式

  5.1.5 Strategy模式

  5.2 应用企业模式

  5.2.1 Specification模式

  5.2.2 Composite模式

  5.2.3 Layer Supertype模式

  5.3 应用设计原则

  5.3.1 依赖倒置原则和依赖注入模式

  5.3.2 接口分离原则

  5.3.3 里氏替换原则

  5.4 小结

 第6章 服务层

  6.1 服务层介绍

  6.1.1 SOA

  6.1.2 SOA的4项信条

  6.1.3 FaCADe设计模式

  6.2 应用Messaging模式

  6.2.1 Document Message和

  Request-Response模式

  6.2.2 Reservation模式

  6.2.3 Idempotent模式

  6.3 SOA示例

  6.3.1 领域模型和资源库

  6.3.2 服务层

  6.3.3 客户端代理

  6.3.4 客户端

  6.4 小结

 第7章 数据访问层

  7.1 DAL介绍

  7.2 数据访问策略

  7.2.1 Repository模式

  7.2.2 Data Access Objects模式

  7.3 数据访问模式

  7.3.1 Unit of Work模式

  7.3.2 数据并发控制

  7.3.3 Lazy Loading和Proxy模式

  7.3.4 Identity Map模式

  7.3.5 Query Object模式

  7.4 使用对象关系映射器

  7.4.1 NHibernate

  7.4.2 MS Entity Framework

  7.4.3 ORM代码示例

  7.5 小结

 第8章 表示层

  8.1 反转控制

  8.1.1 Factory Method设计模式

  8.1.2 Service Locator

  8.1.3 IoC容器

  8.1.4 StructureMap

  8.2 Model-View-Presenter

  8.3 Front Controller

  8.3.1 Command模式

  8.3.2 Chain of Responsibility模式

  8.4 Model-View-Controller

  8.4.1 ViewModel模式

  8.4.2 ASP.NET MVC框架

  8.4.3 利用AutoMapper映射ViewModel

  8.4.4 Castle MonoRail

  8.5 Page Controller模式

  8.6 小结

 第9章 用户体验层

  9.1 什么是ajax

  9.2 使用javaScript库

  9.3 理解AJAX模式

  9.3.1 Periodic Refresh和Timeout

  9.3.2 Unique URL

  9.3.3 利用Javascript Template实现数据绑定

  9.3.4 Predictive Fetch

  9.4 小结

第Ⅲ部分 案例研究:在线电子商务商店

 第10章 需求和基础设施

  10.1 Agatha服装店需求

  10.1.1 Product Catalog和Basket截屏

  10.1.2 顾客账号屏幕

  10.1.3 结账屏幕

  10.1.4 缓存和日志

  10.2 架构

  10.3 小结

 第11章 创建商品目录

  11.1 创建产品目录

  11.1.1 Product Catalog模型

  11.1.2 Product Catalog数据表

  11.1.3 Product Catalog资源库

  11.1.4 Product服务

  11.1.5 控制器

  11.1.6 Product Catalog视图

  11.1.7 设置IoC

  11.2 小结

 第12章 实现购物车

  12.1 实现购物车

  12.1.1 Basket领域模型

  12.1.2 创建购物车数据表

  12.1.3 NHibernate映射

  12.1.4 购物车服务

  12.1.5 购物车控制器和购物车视图

  12.2 小结

 第13章 顾客会员

  13.1 顾客会员

  13.1.1 Customer模型

  13.1.2 Customer数据表

  13.1.3 Customer NHibernate映射

  13.1.4 Customer服务

  13.1.5 身份验证服务

  13.1.6 Customer控制器

  13.1.7 Account控制器

  13.1.8 顾客关系视图

  13.1.9 身份验证视图

  13.2 小结

 第14章 订购和支付

  14.1 结账

  14.1.1 Order模型

  14.1.2 Order数据表

  14.1.3 Order NHibernate映射

  14.1.4 Order服务

  14.1.5 利用PalPay进行支付

  14.1.6 Order、Payment与Checkout控制器

  14.1.7 Order和Checkout视图

  14.2 小结

前言

  本书将向您展示如何在实际的ASP.NET应用程序中发挥设计模式和核心设计原则的威力。本书的目标是向开发者讲解能够帮助其成为更好的程序员的面向对象编程基础、设计模式、原则及方法学。设计模式和原则支持松散耦合、高内聚的代码,而这将提升代码的可读性、灵活性和可维护性。每一章内容关注企业ASP.NET应用程序中的一层,并展示如何利用那些经过实践证明的模式、原则和最佳实践来解决问题并改进代码设计。此外,本书使用一个专业级的、完整的研究案例来讲解如何在实际的网站中运用最佳实践设计模式和原则。

  读者对象

  本书是为那些熟悉.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章:业务逻辑层:模式

  第5章与第4章类似,仍然介绍业务层,但该章关注的是构建对象时可以使用的模式和原则,以及如何确保构建可伸缩、可维护的应用程序。该章涉及的模式包括Factory、Decorator、Template、State、Strategy和Composite。所涉及的企业模式包括Specification和Layer Supertype。最后介绍了一些能够改进代码可维护性和灵活性的设计原则,包括Dependency Injection、Interface Segregation和Liskov Substitution原则。

  第6章:服务层

  该章介绍了服务层在企业ASP.NET应用程序中扮演的角色。该章首先简要地介绍了Service Oriented Architecture及其必要性。然后讨论了Fa?ade设计模式。接着讨论了Document Message、Request-Response、Reservation和Idempotent模式等Messaging模式。最后给出了一个WCF实体的练习,来演示本章涵盖的所有模式。

  第7章:数据访问层

  如何利用数据存储来使业务对象状态持久化是应用程序体系结构的关键部分。该章将学习该层中使用的设计模式,以及如何将它们整合在一起。这里演示了两种帮助组织持久层的数据访问策略:Repository和Data Access Object。接着,介绍了一些有助于优雅地满足数据访问需求的企业模式和原则,包括Lazy Loading、Identity Map、Unit of Work和Query Object。之后介绍了Object Relational Mapper以及它们解决的问题。最后,给出了一个企业Domain Driven练习,它的POCO业务实体同时使用了NHibernate和MS Entity Framework。

  第8章:表示层

  该章介绍了一些为了组织表示层逻辑并让其与应用程序中的其他层保持分离状态的模式。该章首先解释如何使用Structure Map和Inversion of Control容器将松散耦合的代码连接起来。然后描述了几种表示层模式,包括利用Model-View-Presenter模式和ASP.NET Web表单实现视图,利用Command和Chain of Responsibility模式实现Front Controller表示模式,以及利用ASP.NET MVC框架和Windsor的Castle Monorail框架来实现Model-View-Controller模式。最后讨论的表示层模式是ASP.NET Web表单中使用的PageController。该章最后讲解一种可与组织模式一起使用的ViewModel模式,以及如何利用AutoMapper自动地把领域实体映射到ViewModel。

  第9章:用户体验层

  在第Ⅱ部分的最后一章介绍用户体验层。该章首先讲解什么是Ajax及其所依赖的技术。然后讲解了JavaScript库,说明如何使用jQuery等强大代码库来简化JavaScript处理。该章主要描述了一些常见的Ajax模式:Ajax Periodic Refresh和Timeout模式,用于维护历史的Unique URL模式,用于实现客户端数据绑定的Jtemplate模式,以及Ajax Predictive Fetch模式。

  第Ⅲ部分 案例研究:在线电子商务商店

  本书最后一部分使用一个完整的示例应用程序来演示在第Ⅱ部分中介绍的众多模式。

  第10章:需求和基础设施

  这是关于案例研究的第1章,介绍了将在其余4章中构建的Agatha电子商务商店。该章描述了该网站的需求,以及将要用到的基础设施和总体架构。表示层采用ASP.MVC,中间层的组织采用领域模型,利用NHibernate使业务实体持久化并从数据库中检索业务实体。

  第11章:创建商品目录

  该章构建了商店的商品目录浏览功能。大量使用jQuery来提供丰富的Web 2.0观感。利用JSON来实现控件和ASPX视图之间的通信以提供Ajax功能。使用ViewModel为控件提供扁平的领域视图。采用AutoMapper自动地把领域实体转换成ViewModel。

  第12章:实现购物车

  该章实现了顾客购物车。使用顾客Cookie来存放购物车内容摘要,创建一项服务将访问Cookie存储的逻辑抽象出来。为了保持Web 2.0观感,购物车上执行的所有动作均通过Ajax调用进行。

  第13章:顾客会员

  该章解决顾客会员资格和身份验证问题。使用ASP.NET用户凭据提供者进行就地身份验证;但也使用了第二种身份验证方法,让顾客使用其现有的基于Web的账号(比如Facebook和Google账号)来进行身份验证。本章还会开发顾客账号屏幕。

  第14章:订购与支付

  在案例研究练习的最后一章中,将研究该网站的支付和结账功能。本章选中的支付机制是PayPal,但把逻辑代码抽象出来,这样就可以轻易地将其替换成任何其他支付手段。最后向顾客的账号部分中添加订单历史记录功能。

  源代码

  在阅读本书示例的过程中,可以选择采用手工方式录入所有代码,也可以选择本书所附的源代码文件。本书中所用的所有源代码均可以在www.wrox.comhttp://www.tupwk.com.cn/downpage下载。在该网站,搜索本书的书名(可以通过搜索栏或使用书名列表),然后在本书详细信息页面中单击Download Code链接来获取本书的源代码。

 

  在下载代码之后,使用压缩工具解压。或者,可以打开Wrox主代码下载页面http://www.wrox.com/ dynamic/books/download.aspx,查看本书以及所有其他Wrox书籍的代码。

  勘误表

  我们尽力确保本书正文及代码正确无误。但人无完人,错误在所难免。如果发现本书中有错误之处,如拼写错误或代码错误,我们将非常感谢您的反馈。通过提交勘误信息,可以让其他读者免于枉费数小时宝贵时间,还能帮助我们提供更高品质的信息。

  要查找本书的勘误页,请打开www.wrox.com网站,并使用搜索框或书名列表查找本书的书名。然后,在本书详细信息页面上,单击Book Errata链接。在打开的页面上,可以浏览已经由读者为本书提交的以及由Wrox编辑通告的所有勘误信息。还可以在http://www.wrox.com/misc-pages/ booklist.shtml找到完整的包含每本书勘误信息链接的书籍列表。

  如果没有在Book Errata页找到自己发现的错误,请打开http://www.wrox.com/contact/ techsupport.shtml页面,填写其中的表单,将您发现的错误发送给我们。我们将检查该信息,如果确认存在该错误,我们将会向本书的勘误页发送一条消息并在本书后续版中纠正该问题。

  P2P.wrox.com网站

  如果希望与作者和同行讨论,请加入P2P论坛http://p2p.wrox.com。论坛属于基于Web的系统,可供提交关于Wrox书籍和相关技术的消息,并与其他读者和技术用户交流。论坛提供了一项订阅功能,当论坛上您所感兴趣的主题有新帖时,系统会通过电子邮件通知您。Wrox作者、编辑、其他行业专家及同行读者都会出现在这些论坛上。

  在http://p2p.wrox.com网站上,可以找到多个不同的论坛,不仅能够帮助您阅读本书,还能帮助您开发自己的应用程序。要加入论坛,只需要遵循以下步骤即可:

  (1) 打开http://p2p.wrox.com并单击Register链接。

  (2) 阅读使用条款并单击Agree。

  (3) 填写加入论坛时必需的信息以及任何您希望提供的可选信息,然后单击Submit。

  (4) 您将收到一封电子邮件,里面描述了如何验证自己的账号并完成加入过程。  

  

  一旦加入论坛,就可以提交新信息并回复其他用户提交的消息。可以在任何时间阅读Web上的消息。如果希望系统将特定论坛的新消息通过电子邮件发送给您,那么在论坛列表中的论坛名称旁单击Subscribe to this Forum图标。

  有关如何使用Wrox P2P的更多信息,阅读P2P FAQ以获得有关论坛软件如何运行以及许多有关P2P和Wrox书籍常见问题的答案。要阅读FAQ,在P2P页面上单击FAQ链接。

热门图书
推荐新闻
技术文库
论坛推荐