标题：Microsoft .NET企业级应用架构设计
图书信息
  封面　　书 名: Microsoft .NET企业级应用架构设计
作　者：（美）埃斯波西托　，陈黎夫　译
出版社： 人民邮电出版社
出版时间： 2010-6-1
ISBN: 9787115227126
开本： 16开
定价: 69.00元
内容简介
本书主要介绍了.NET平台下企业级架构设计开发的指导原则、最佳实践和模式等。书中第一部分介绍了软件设计基本原则以及架构的相关概念；第二部分按照业务逻辑层、数据访问层、表现层和服务层进行了说明，并详细分析了各层中的常见模式。
作者Dino曾撰写多部.NET相关的畅销著作，虽然本书涉及架构这个高端主题，但其文字生动活泼，行文一气呵成。本书适合中高级.NET开发人员、软件架构师以及有志于成为软件架构师的读者阅读。
图书推荐
《Microsoft .NET企业级应用架构设计》：游刃有余地控制复杂性设计高效的企业级解决方案
在一开始就要做出正确的架构决策，从而提高产品的质量和可靠性。《Microsoft .NET企业级应用架构设计》由两位企业级系统开发专家执笔，会告诉你如何用各种模式和技术来控制项目的复杂性，让系统更易于编写、维护和升级。
读者会得到实用的架构方面的指导，包括：
·在早期设计师就考虑到可测试性、可维护性和安全性
·通过面向服务的接口暴露业务逻辑
·选择最佳的模式来组织业务逻辑和行为
·了解并使用模式来分离Ul和表现层逻辑
·深入探究数据访问层的模式和最佳实践
·为对象和数据之间的转换提供良好的解决方案
·降低开发工作量，避免过度设计，建造更强壮的系统 
作者简介
作者：（美国）埃斯波西托（Dino Esposito） （美国）萨尔塔列洛（Andrea Saltarello） 译者：陈黎夫
埃斯波西托，（Dino Esposito）是一位ASP NET和AJAX方面的专家、受人欢迎的演讲者，并经常为MSDN Magazine撰写文章。他曾存Microsoft Press出版多本著作，包括《Prog rammingMic rosoft ASP . NET 3.5》和《IntroducingMicrosoft ASP .NET AJAX》等。
萨尔塔列洛，（Andrea Saltarello）是一位解决方案架构师、咨询师和培训师，居住于意大利米兰。作为微软公司ASP .NET方面的MVP，他管理着意大利的微软.NET用户组，并经常在各种业界会议中演讲。
图书目录
第一部分 设计原则
第1章 当代的架构师和架构1.1 软件架构到底是什么
1.1.1 将架构原则应用至软件中
1.1.2 什么属于架构，什么不属于
1.1.3 架构与决定相关
1.1.4 软件的需求和质量
1.2 架构师到底是什么
1.2.1 架构师的职责
1.2.2 你知道有多少种架构师吗
1.2.3 对架构师的一些常见误解
1.3 软件开发流程概览
1.3.1 软件生命周期
1.3.2 软件开发模型
1.4 小结
1.5 本章的墨菲法则
第2章 UML必要知识2.1 uML概览
2.1.1 建模语言的出现动机和历史
2.1.2 UML的模式和使用方法
2.2 UML图表
2.2.1 用例图
2.2.2 类图
2.2.3 顺序图
2.3 小结
2.4 本章的墨菲法则
第3章 设计原则和模式3.1 基本设计原则
3.1.1 警钟因何而鸣
3.1.2 结构化设计
3.1 3分离关注点
3.2 面向对象设计
3.2.1 面向对象基本设计原则
3.2.2 高级原则
3.3 从原则到模式
3.3.1 模式究竟是什么
3.3.2 模式vs.惯用法
3.3.3 依赖注入
3.4 在设计时就考虑需求
3.4.1 可测试性
3.4.2 安全性
3.5 从对象到方面
3.5.1 面向方面编程
3.5.2 AOP实战
3.6 小结
3.7 本章的墨菲法则
第二部分 系统设计
第4章 业务层4.1 业务逻辑层究竟是什么
4.1.1 业务层剖析
4.1.2 业务逻辑层的位置
4.1.3 业务层和其他层
4.1.4 创建业务层的模式
4.2 事务脚本模式
4.2.1 事务脚本模式概述
4.2.2 模式实战
4.3 表模块模式
4.3.1 表模块模式概述
4.3.2 表模块模式实战
4.4 活动记录模式
4.4.1 活动记录模式概述
4.4.2 活动记录模式实战
4.5 领域模型模式
4.5.1 领域模型模式概述
4.5.2 领域模型模式实战
4.6 小结
4.7 本章的墨菲法则
第5章 服务层5.1 服务层究竟是什么
5.1.1 服务层的职责
5.1.2 究竟什么是服务
5.1.3 服务层中的服务
5.2 服务层模式实战
5.2.1 服务层模式概览
5.2.2 服务层模式实战
5.3 相关模式
5.3.1 远程门面模式
5.3.2 数据迁移对象模式
5.3.3 适配器模式
5.3.4 数据迁移对象和程序集
5.4 面向服务架构
5.4.1 SOA的原则
5.4.2 SOA不是什么
5.4.3 SOA和服务层
5.5 富Web前端的特例
5.5.1 重构服务层
5.5.2 设计AJAX服务层
5.5.3 实现AJAX服务层的安全性
5.6 小结
5.7 本章的墨菲法则
第6章 数据访问层6.1 数据访问层究竟是什么
6.1.1 数据访问层的功能需求
6.1.2 数据访问层的职责
6.1.3 数据访问层和其他层
6.2 设计你自己的数据访问层
6.2.1 数据访问层的契约
6.2.2 插件模式
6.2.3 控制反转模式
6.2.4 为数据上下文打下基础
6.3 雕琢你自己的数据访问层
6.3.1 实现持久化层
6.3.2 实现查询服务
6.3.3 实现事务性语义
6.3.4 实现唯一性和标识映射
6.3.5 实现并发
6.3.6 实现延迟加载
6.4 使用O/RM工具增强数据访问层
6.4.1 对象/关系映射器
6.4.2 使用O/RM工具创建数据访问层
6.5 是否应该使用存储过程
6.5.1 有关存储过程的传言
6.5.2 那么动态SQL呢
6.6 小结
6.7 本章的墨菲法则
第7章 表现层7.1 用户界面和表现层逻辑
7.1.1 表现层的职责
7.1.2 用户界面的职责
7.1.3 表现层的常见误区
7.2 表现层的演化
7.2.1 模型—视图—控制器模式
7.2.2 模型—视图—展示器模式
7.2.3 PresentationModel模式
7.2.4 选择用户界面模式
7.3 表现层的设计
7.3.1 视图中要显示什么数据
7.3.2 处理用户操作
7.4 表现层的惯用设计
7.4.1 Web表现层中的MVP
7.4.2 Windows平台中的MVP
7.5 小结
7.6 本章的墨菲法则
附录 A Northwind Starter Kit
最后的思考
序言
正确的判断来自于经验，而经验则来自于错误的判断。——Fred Brooks
每次遇到软件项目时，我们都会创建一个解决方案。这个过程就叫做架构设计，而架构设 计的最终产物就是软件架构。软件架构可以分为隐式和显式两种。
隐式架构是指那些在我们头脑中描绘出的设计，往往写在Microsoft Office Word文档或记事 本上。隐式架构可以看做是一系列原有经验，其他类似项目中学到的技巧以及将抽象的概念进 行组织并应用到手头项目中的能力。例如，若你是个专业的木匠，那么显然不需要为了给宠物 狗造窝而大动干戈地绘图或精确测量，只要几分钟你就能想出一个隐式的架构。随后便可直奔 主题开始工作，仅仅在必要的时候进行合适的判断即可。这样在项目结束时，结果也会很不错。
若项目干系人的想法过于复杂精细，以至于无法用经验和头脑中的想法来处理，则需要采 用显式架构。这时，你就需要做一些有预见性的规划并获取一定的指导，然后应用合理的模式 和实践，以期实现最终的目标。
架构是什么
“架构”这个词已被用在很多不同的上下文中。其定义可以在《牛津英语词典》或软件领域 中的美国国家标准学会（American National Standards Institute，ANSI）/电气和电子工程师学会（Institute 0f Electrical and：Electronics Engineers，IEEE）的标准库中找到。在ANSI和IEEE的释义中，架构的定义主要包括规划、设计以及创建软件的过程。软件架构是指那些用来为项目干系人提供足够说明（如某个用户需求）的一些人工产物。