图书介绍
微软应用架构指南PDF|Epub|txt|kindle电子书版本网盘下载
- 美国模式和实践团队著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121120473
- 出版时间:2010
- 标注页数:383页
- 文件大小:62MB
- 文件页数:414页
- 主题词:软件工具-程序设计
PDF下载
下载说明
微软应用架构指南PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
软件架构和设计篇1
第1章 什么是软件架构3
1.1 为什么架构很重要?3
1.2 架构的目标4
1.2.1 架构风景线(Architectural Landscape)5
1.3 架构设计的原则5
1.3.1 关键设计原则6
1.3.2 其他资源6
第2章 软件架构的关键原则7
2.1 概览7
2.2 关键设计原则8
2.3 关键设计考量10
2.3.1 确定应用程序类型10
2.3.2 确定部署策略11
2.3.3 确定合适的技术11
2.3.4 确定质量特性11
2.3.5 确定横切关注点11
第3章 架构模式和风格13
3.1 概览13
3.2 什么是架构风格?13
3.3 关键架构风格小结14
3.3.1 组合架构风格14
3.4 客户端/服务端架构风格15
3.5 基于组件的架构风格16
3.6 领域驱动设计架构风格17
3.7 分层架构风格18
3.8 消息总线架构风格20
3.9 N层/三层架构风格21
3.10 面向对象架构风格21
3.11 面向服务架构风格22
3.12 其他资源23
第4章 架构和设计的方法25
4.1 概览25
4.2 输入、输出和设计步骤25
4.3 确定架构目标26
4.3.1 范围和时间26
4.4 关键应用场景27
4.4.1 对架构重要的用例27
4.5 应用程序概览28
4.5.1 相关技术29
4.5.2 画出您的架构29
4.6 关键问题30
4.6.1 质量特性30
4.6.2 横切关注点30
4.6.3 用于减少问题的设计31
4.7 候选解决方案32
4.7.1 基准架构和候选架构32
4.7.2 架构刺探33
4.8 接下去做什么33
4.9 评审架构33
4.9.1 基于应用场景的评估33
4.10 展示和沟通您的架构设计34
4.11 其他资源35
设计基础篇37
第5章 分层应用程序指导原则39
5.1 概览39
5.2 逻辑分层设计39
5.2.1 表现层、业务层和数据层39
5.3 服务和分层40
5.3.1 服务层41
5.4 分层结构的设计步骤42
5.4.1 第一步:选择您的分层策略42
5.4.2 第二步:确定您需要的分层43
5.4.3 第三步:确定如何分布层和组件43
5.4.4 第四步:确定是否需要收缩层43
5.4.5 第五步:确定层之间交互的规则44
5.4.6 第六步:找出横切关注点44
5.4.7 第七步:定义层之间的接口44
5.4.8 第八步:选择您的部署策略45
5.4.9 第九步:选择通信协议46
第6章 表现层指导原则47
6.1 概览47
6.2 总体设计考量48
6.3 特定设计问题49
6.3.1 缓存49
6.3.2 通信50
6.3.3 组合50
6.3.4 异常管理50
6.3.5 导航51
6.3.6 用户体验51
6.3.7 用户界面52
6.3.8 验证52
6.4 技术考量53
6.4.1 移动应用程序53
6.4.2 富客户端应用程序53
6.4.3 富互联网应用程序53
6.4.4 Web应用程序54
6.5 性能考量54
6.6 表现层设计步骤55
6.7 相关设计模式56
6.8 模式和实践团队提供的产品57
6.9 其他资源57
第7章 业务层指导原则59
7.1 概览59
7.2 总体设计考量60
7.3 特定设计问题61
7.3.1 身份验证61
7.3.2 授权61
7.3.3 缓存62
7.3.4 耦合和内聚62
7.3.5 异常管理63
7.3.6 日志、审核和指示器(Instrumentation)63
7.3.7 验证63
7.4 部署考量64
7.5 业务层的设计步骤64
7.6 相关设计模式65
7.7 模式和实践团队提供的产品65
7.8 其他资源66
第8章 数据层指导原则67
8.1 概览67
8.2 总体设计考量68
8.3 特定设计问题69
8.3.1 批量处理69
8.3.2 二进制大对象70
8.3.3 连接70
8.3.4 数据格式70
8.3.5 异常管理71
8.3.6 对象关系映射71
8.3.7 查询72
8.3.8 存储过程72
8.3.9 存储过程和动态SQL72
8.3.10 事务73
8.3.11 验证74
8.3.12 XML74
8.4 技术考量75
8.5 性能考量75
8.6 安全考量76
8.7 部署考量76
8.8 数据层的设计步骤76
8.9 相关设计模式77
8.10 其他资源78
第9章 服务层指导原则81
9.1 概览81
9.2 设计考量82
9.3 具体设计问题83
9.3.1 身份验证83
9.3.2 授权83
9.3.3 通信84
9.3.4 异常管理84
9.3.5 消息信道84
9.3.6 消息构建85
9.3.7 消息端点85
9.3.8 消息保护85
9.3.9 消息路由86
9.3.10 消息转换86
9.3.11 服务接口86
9.3.12 验证87
9.4 REST和SOAP87
9.4.1 REST设计考量88
9.4.2 SOAP设计考量88
9.5 技术考量89
9.6 部署考量89
9.7 服务层的设计步骤90
9.8 相关设计模式90
9.9 其他资源93
第10章 组件指导原则95
10.1 概览95
10.2 组件设计总体指导原则95
10.3 分层组件分布96
10.4 表现层组件96
10.5 服务层组件97
10.6 业务层组件97
10.7 数据层组件98
10.8 横切组件99
10.9 相关设计模式99
10.10 模式和实践团队提供的产品100
10.11 其他资源101
第11章 设计表现组件103
11.1 概览103
11.2 第一步:理解UI需求103
11.3 第二步:确定需要的UI类型104
11.4 第三步:选择UI技术104
11.5 第四步:设计表现组件106
11.5.1 用户界面组件106
11.5.2 表现逻辑组件107
11.5.3 表现模型组件107
11.5.4 表现实体108
11.6 第五步:确定绑定需求109
11.7 第六步:确定错误处理策略110
11.8 第七步:确定验证策略111
11.9 模式和实践团队提供的产品111
11.10 其他资源112
第12章 设计业务组件113
12.1 概览113
12.2 第一步:确定您的应用程序将会使用的业务组件113
12.3 第二步:为业务组件进行关键决策114
12.4 第三步:选择合适的事务支持114
12.5 第四步:确定如何处理业务规则115
12.6 第五步:确定满足需求的模式116
12.7 其他资源117
第13章 设计业务实体119
13.1 概览119
13.2 第一步:选择表现方式119
13.3 第二步:为业务实体选择设计120
13.4 第三步:确定序列化支持120
13.5 领域驱动设计121
13.6 其他资源122
第14章 设计业务工作流123
14.1 概览123
14.2 第一步:根据应用场景确定工作流风格123
14.3 第二步:选择编写模式124
14.4 第三步:确定如何处理规则124
14.5 第四步:选择工作流解决方案124
14.6 第五步:设计业务组件来支持工作流125
14.6.1 Windows Workflow Foundation125
14.6.2 BizTalk服务器126
14.6.3 带ESB的BizTalk126
14.6.4 结合使用Windows Workflow Foundation和BizTalk127
14.7 其他资源128
第15章 设计数据组件129
15.1 概览129
15.2 第一步:选择数据访问技术129
15.3 第二步:选择如何从数据源获取和持久化业务对象130
15.4 第三步:确定如何连接数据源130
15.4.1 连接130
15.4.2 连接池131
15.4.3 事务和并发132
15.5 第四步:确定处理数据源错误的策略133
15.5.1 异常133
15.5.2 重试逻辑133
15.5.3 超时134
15.6 第五步:设计服务代理组件(可选)134
15.7 其他资源134
第16章 质量特性135
16.1 概览135
16.2 常见质量特性135
16.2.1 可用性137
16.2.2 概念完整性137
16.2.3 互操作性138
16.2.4 可维护性138
16.2.5 可管理性139
16.2.6 性能139
16.2.7 可靠性140
16.2.8 可重用性140
16.2.9 可伸缩性141
16.2.10 安全性141
16.2.11 可支持性142
16.2.12 可测试性142
16.2.13 用户体验/易用性143
16.3 其他资源143
第17章 横切关注点145
17.1 概览145
17.2 总体设计考量145
17.3 具体设计问题146
17.3.1 身份验证146
17.3.2 授权147
17.3.3 缓存147
17.3.4 通信148
17.3.5 配置管理148
17.3.6 异常管理149
17.3.7 日志和指示器149
17.3.8 状态管理150
17.3.9 验证150
17.4 缓存的设计步骤151
17.4.1 第一步:确定要缓存的数据151
17.4.2 第二步:确定数据缓存在哪里151
17.4.3 第三步:确定缓存数据的格式152
17.4.4 第四步:确定合适的缓存管理策略152
17.4.5 第五步:确定如何加载缓存数据153
17.5 异常管理的设计步骤154
17.5.1 第一步:确定需要处理的异常154
17.5.2 第二步:确定您的异常检测策略154
17.5.3 第三步:确定异常的传播策略154
17.5.4 第四步:确定您自定义异常的策略155
17.5.5 第五步:确定需要收集的信息155
17.5.6 第六步:确定异常日志记录策略156
17.5.7 第七步:确定您的异常通知策略156
17.5.8 第八步:确定如何处理未处理异常156
17.6 验证输入和验证数据的设计步骤157
17.6.1 第一步:确定信任边界157
17.6.2 第二步:确定关键应用场景157
17.6.3 第三步:确定哪里需要验证157
17.6.4 第四步:确定验证策略158
17.7 相关设计模式158
17.8 模式和实践团队的解决方案产品158
17.9 其他资源159
第18章 通信和消息161
18.1 概览161
18.2 总体设计指导原则161
18.3 基于消息通信的指导原则162
18.3.1 异步和同步通信163
18.3.2 耦合和内聚163
18.3.3 数据格式163
18.3.4 互操作性164
18.3.5 性能165
18.3.6 状态管理165
18.4 契约先行设计165
18.5 安全考量166
18.5.1 传输安全166
18.5.2 消息安全167
18.6 技术选项167
18.6.1 WCF技术选项167
18.6.2 ASMX技术选项168
18.7 其他资源168
第19章 物理层和部署169
19.1 概览169
19.2 分布式和非分布式部署169
19.2.1 非分布式部署169
19.2.2 分布式部署170
19.2.3 分布式环境的性能和设计考量170
19.2.4 针对分布式部署中定位组件的一些建议171
19.3 分布式部署模式172
19.3.1 客户端/服务端部署172
19.3.2 N层部署172
19.3.3 两层部署172
19.3.4 三层部署173
19.3.5 四层部署173
19.3.6 Web应用程序部署173
19.3.7 富互联网应用程序部署174
19.3.8 富客户端应用程序部署174
19.4 性能模式174
19.4.1 负载均衡集群175
19.4.2 亲和性和会话技术175
19.4.3 应用农场176
19.5 可靠性模式176
19.5.1 故障转移集群176
19.6 安全性模式177
19.6.1 模拟和委派177
19.6.2 信任子系统178
19.6.3 多重信任服务标识178
19.7 纵向扩展和横向扩展179
19.7.1 纵向扩展的考量179
19.7.2 设计以支持横向扩展179
19.7.3 设计的牵制和权衡180
19.8 络基础结构的安全考量181
19.9 可管理性考量182
19.10 相关设计模式182
19.11 其他资源183
应用程序原型篇185
第20章 选择应用程序类型187
20.1 概述187
20.2 应用程序原型小结187
20.2.1 应用程序类型优缺点188
20.3 移动应用程序189
20.4 富客户端应用程序类型190
20.5 富Internet程序原型191
20.6 服务应用程序类型192
20.7 Web应用程序类型193
第21章 设计Web应用程序195
21.1 概述195
21.2 通用设计考量196
21.3 特定的设计考量196
21.3.1 应用程序提交过程197
21.3.2 身份验证198
21.3.3 授权198
21.3.4 缓存198
21.3.5 异常管理199
21.3.6 日志和规范199
21.3.7 导航199
21.3.8 页面布局200
21.3.9 页面渲染200
21.3.10 Session管理201
21.3.11 验证201
21.4 层设计中的考量202
21.4.1 表现层202
21.4.2 业务层202
21.4.3 数据层202
21.4.4 服务层202
21.5 测试及可测试性的考量203
21.6 技术考量203
21.7 部署考量204
21.7.1 非分布式部署204
21.7.2 分布式部署204
21.7.3 负载均衡205
21.8 相关的设计模式206
21.9 其他资源207
第22章 设计富客户端应用程序209
22.1 概述209
22.2 通用设计考量210
22.3 特定的设计考量211
22.3.1 业务层211
22.3.2 通信211
22.3.3 组合212
22.3.4 配置管理213
22.3.5 数据访问213
22.3.6 异常管理214
22.3.7 可维护性214
22.3.8 表现层215
22.3.9 状态管理215
22.3.10 工作流216
22.4 安全考量216
22.5 数据处理考量217
22.5.1 缓存数据217
22.5.2 数据并发218
22.5.3 数据绑定218
22.6 离线/偶尔连线情况的设计考量218
22.7 技术考量219
22.8 部署考量220
22.8.1 独立部署220
22.8.2 客户端/服务器端部署220
22.8.3 N层部署220
22.8.4 部署技术221
22.9 相关的设计模式221
22.10 其他资源223
第23章 设计富Internet应用程序225
23.1 概述225
23.2 通用设计考量226
23.3 特定的设计考量227
23.3.1 业务层228
23.3.2 缓存228
23.3.3 通信229
23.3.4 组合229
23.3.5 数据访问230
23.3.6 异常管理230
23.3.7 日志230
23.3.8 媒体和图形231
23.3.9 可移动性231
23.3.10 可移植性232
23.3.11 表现层232
23.3.12 状态管理232
23.3.13 验证233
23.4 安全考量233
23.5 数据处理考量234
23.6 技术考量234
23.7 部署考量236
23.7.1 RIA插件安装236
23.7.2 分布式部署236
23.7.3 负载均衡237
23.7.4 Web农场的优缺点238
23.8 相关的设计模式238
23.9 其他资源239
第24章 设计移动应用程序241
24.1 概述241
24.2 通用设计考量242
24.3 一些特定的设计考量243
24.3.1 身份验证和授权243
24.3.2 缓存244
24.3.3 通信244
24.3.4 配置管理245
24.3.5 数据访问245
24.3.6 设备相关246
24.3.7 异常管理246
24.3.8 日志247
24.3.9 移植应用程序247
24.3.10 功耗管理248
24.3.11 同步248
24.3.12 测试249
24.3.14 用户界面249
24.3.15 验证250
24.4 技术考量250
24.4.1 Microsoft Silverlight for Mobile250
24.4.2 NET Compact Framework251
24.4.3 Windows Mobile251
24.4.4 Windows Embedded252
24.5 部署考量252
24.6 相关设计模式253
24.7 其他资源254
第25章 设计服务应用程序255
25.1 概述255
25.2 通用设计考量256
25.3 特定的设计考量257
25.3.1 身份验证258
25.3.2 授权258
25.3.3 业务层258
25.3.4 通信259
25.3.5 数据层259
25.3.6 异常管理260
25.3.7 消息结构260
25.3.8 消息端点260
25.3.9 消息保护261
25.3.10 消息转换261
25.3.11 消息交换模式262
25.3.12 表述性状态传输262
25.3.13 服务层263
25.3.14 SOAP264
25.3.15 验证264
25.4 技术考量265
25.5 部署考量265
25.6 相关设计模式266
25.7 其他资源268
第26章 设计托管和云服务269
26.1 概述269
26.1.1 云计算269
26.1.2 托管和云服务的通用词汇270
26.2 云端应用程序的好处271
26.2.1 针对ISV和服务托管的好处271
26.2.2 针对消费服务企业的好处272
26.3 设计考量272
26.3.1 数据隔离和共享272
26.3.2 数据安全274
26.3.3 数据的存储和扩展275
26.3.4 标识管理277
26.3.5 多重租赁278
26.3.6 内部托管还是外部托管,构建还是购买279
26.3.7 性能280
26.3.8 服务组合280
26.3.9 服务集成282
26.3.10 服务管理283
26.4 相关设计模式284
26.5 其他资源284
第27章 设计Office业务应用程序287
27.1 概述287
27.1.1 构成Office务应用程序的组件288
27.2 Office业务应用程序的关键场景288
27.2.1 企业内容管理289
27.2.2 商业智能289
27.2.3 统一消息290
27.3 通用的OBA模式290
27.3.1 扩展的到达通道290
27.3.2 文档整合291
27.3.3 文档工作流293
27.3.4 组合用户界面293
27.3.5 数据合并(导航发现)294
27.3.6 协作296
27.3.7 通知和任务296
27.4 通用设计考量297
27.5 安全考量298
27.6 部署考量298
27.7 相关设计模式298
27.8 其他资源299
第28章 设计SharePoint LOB应用程序301
28.1 概述301
28.1.1 SharePoint LOB应用程序的逻辑层302
28.1.2 物理层部署302
28.2 关键场景和特性303
28.3 通用设计考量303
28.4 特定的设计考量304
28.4.1 业务数据目录304
28.4.2 文档和内容存储305
28.4.3 Excel服务305
28.4.4 InfoPath表单服务306
28.4.5 SharePoint对象模型306
28.4.6 Web Parts307
28.4.7 工作流307
28.5 技术考量308
28.6 部署考量308
28.7 相关设计模式308
28.8 其他资源309
附录312
附录A 微软应用程序平台313
A.1 概述313
A.2 相关的信息和资源314
A.2.1 微软是怎样在Web上组织技术信息的314
A.2.2 Microsoft Developer Network314
A.2.3 Microsoft TechNet315
A.3 NET框架315
A.4 公共语言运行时315
A.5 数据访问315
A.6 移动应用程序316
A.7 富客户端317
A.8 富Internet应用程序317
A.9 服务318
A.10 工作流318
A.11 Web应用程序319
A.12 Web服务器——Internet信息服务319
A.13 数据库服务器——SQIServer320
A.14 Visual Studio开发环境320
A.15 其他的工具和库320
A.15.1 模式和实践团队的解决方案产品320
A.16 其他资源321
附录B 表现方面的技术矩阵323
B.1 概述323
B.2 表现层技术小结323
B.2.1 移动应用程序323
B.2.2 富客户端应用程序323
B.2.3 富Internet应用程序324
B.2.4 Web应用程序324
B.3 优缺点矩阵325
B.3.1 移动应用程序325
B.3.2 富客户端应用程序326
B.3.3 富Internet应用程序326
B.3.4 Web应用程序327
B.4 通用的场景和解决方案328
B.4.1 移动应用程序328
B.4.2 富客户端应用程序328
B.4.3 富Internet应用程序329
B.4.4 Web应用程序329
B.5 其他资源330
附录C 数据访问的技术矩阵331
C.1 概述331
C.2 数据访问技术小结331
C.3 优缺点矩阵332
C.3.1 对象-关系数据访问332
C.3.2 断线和离线场景333
C.3.3 SOA/服务场景333
C.3.4 N层及通用场景333
C.4 通用建议335
C.5 通用的场景和解决方案335
C.6 LINQ to SQL的缺点336
C.7 移动解决方案的缺点337
C.8 其他资源337
附录D 整合方面的技术矩阵339
D.1 概述339
D.2 整合技术小结339
D.3 优缺点矩阵339
D.4 通用的场景和解决方案341
D.5 其他资源342
附录E 工作流方面的技术矩阵343
E.1 概述343
E.2 整合技术小结343
E.3 人力工作流VS.系统工作流344
E.4 优缺点矩阵344
E.5 通用的场景和解决方案345
E.6 其他资源345
附录F patterns & practices企业库347
F.1 概述347
F.2 企业库的目标347
F.3 企业库的内容347
F.3.1 应用程序块348
F.4 缓存应用程序块349
F.4.1 关键场景349
F.4.2 何时使用349
F.4.3 缺点350
F.5 加密应用程序块350
F.5.1 关键场景350
F.5.2 何时使用350
F.5.3 缺点351
F.6 数据访问应用程序块351
F.6.1 关键场景351
F.6.2 何时使用351
F.6.3 缺点352
F.7 异常处理应用程序块352
F.7.1 关键场景352
F.7.2 何时使用352
F.8 日志应用程序块353
F.8.1 关键场景353
F.8.2 何时使用353
F.8.3 缺点353
F.9 策略注入应用程序块353
F.9.1 关键场景354
F.9.2 何时使用354
F.9.3 缺点354
F.10 安全应用程序块354
F.10.1 关键场景355
F.10.2 何时使用355
F.10.3 缺点355
F.11 Unity应用程序块355
F.11.1 关键场景355
F.11.2 何时使用356
F.11.3 缺点356
F.12 验证应用程序块356
F.12.1 关键场景356
F.12.2 何时使用356
F.12.3 缺点357
F.13 其他资源357
附录G 模式和实践团队模式目录359
G.1 关于WPF和Silverlight的组合应用程序指南359
G.2 数据迁移模式360
G.3 企业解决方案中的模式361
G.4 整合模式363
G.5 Web服务安全模式364
G.6 其他资源365
索引367