在线客服
Microsoft.NET企业级应用架构设计(第2版)图书
人气:20

Microsoft.NET企业级应用架构设计(第2版)

【好评返5元店铺礼券】Microsoft.NET企业级应用框架设计
  • 所属分类:图书 >计算机/网络>企业软件开发与实施  
  • 作者:(意)[埃斯波西托]([Dino] [Esposito]),(意)[索尔塔雷罗]([Andre]
  • 产品参数:
  • 丛书名:--
  • 国际刊号:9787115413710
  • 出版社:人民邮电出版社
  • 出版时间:2016-04
  • 印刷时间:2016-04-01
  • 版次:2
  • 开本:16开
  • 页数:282
  • 纸张:轻型纸
  • 包装:平装-胶订
  • 套装:

内容简介

埃斯波西托(DinoEsposito);软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。本书就是一个关于软件架构的坚实、可重用且易于访问的知识库。

本书分4个部分来介绍软件架构相关的内容。其中,基础知识部分为软件架构打下基础;设计架构部分关注表现层和业务层;支撑架构部分涵盖3个可用于构建各种子领域的支撑架构;基础设计部分介绍了多样化持久化、NoSQL数据存储、SQL、EntityFramework和关系型数据库等内容。

本书着重介绍软件架构相关的内容,适合软件架构师和想成为软件架构师的人阅读,而且首席开发者和各种.NET应用程序的开发者也能从本书获益。

作者简介

Dino Esposito,是知名的Web和移动开发专家,写过多本畅销书,包括

《Architecting Mobile Solutions for the Enterprise》和《Programming Microsoft ASP.NETMVC》。除了写作和演讲,他还是一家软件和IT服务公司的创始人和CTO,这家公司服务于职业体育产业。

Andrea Saltarello,是一家软件设计和开发咨询公司的CEO、创始人和解决方案架构师。他是一名活跃的演讲者和培训师,也是一个开源项目的首席开发者,该项目专注于开发ASP.NETMVC工具套件的扩展功能。

目录

第1部分基础

第1章今天的架构师和架构2

1.1软件架构到底是什么2

1.1.1把架构原则应用到软件中3

1.1.2确认需求5

1.1.3什么是架构,什么不是8

1.1.4架构流程10

1.2谁是架构师12

1.2.1架构师的职责12

1.2.2架构师的角色14

1.2.3关于架构师的常见误解15

1.3总结17

1.4笑到17

第2章为成功而设计18

2.1"大泥球"18

2.1.1"大泥球"的成因19

2.1.2"大泥球"的征兆21

2.1.3使用指标检测BBM23

2.2软件项目的机制24

2.2.1组织文化24

2.2.2帮助团队更好地写代码26

2.3走出混乱29

2.3.1有一种奇怪的东西叫作"遗留代码"30

2.3.2在3招之内将杀(checkmate)30

2.3.3决定是否添加人手33

2.4总结34

2.5笑到35

第3章软件设计的原则36

3.1软件设计的通用原则36

3.1.1从意大利面代码到千层饼代码37

3.1.2关注点分离38

3.1.3隔离39

3.2面向对象设计39

3.2.1相关类40

3.2.2对接口编程40

3.2.3组合与继承42

3.2.4反思面向对象.43

3.3开发和设计向量44

3.3.1SOLID原则44

3.3.2处理依赖的模式48

3.3.3编码向量50

3.3.4使用模式52

3.4防御性编程54

3.4.1"如果—那么—抛出"模式55

3.4.2软件契约55

3.5总结59

3.6笑到59

第4章编写品质软件60

4.1编写可测试代码的艺术60

4.1.1什么是可测试性61

4.1.2测试你的软件62

4.1.3软件测试的常见实践69

4.2代码可扩展性的实践73

4.2.1基于接口的设计74

4.2.2插件架构74

4.2.3状态机74

4.3写出别人看得懂的代码74

4.3.1把可读性看作软件特性75

4.3.2一些改善可读性的实用规则77

4.4总结79

4.5笑到79

第2部分设计架构

第5章发现领域架构82

5.1领域驱动设计的真正附加价值82

5.1.1DDD里有什么为我所用83

5.1.2使用DDD开展分析83

5.1.3策略模型设计84

5.2统一语言85

5.2.1统一语言的目的85

5.2.2统一语言的结构86

5.2.3如何定义统一语言86

5.2.4保持语言与模型同步87

5.3绑定上下文88

5.3.1发现上下文88

5.3.2把领域分割成绑定上下文89

5.3.3上下文映射91

5.3.4给予每个上下文它自己的架构92

5.4分层架构94

5.4.1分层架构的起源94

5.4.2表现层96

5.4.3应用程序层96

5.4.4领域层98

5.4.5基础设施层98

5.5总结98

5.6笑到99

第6章表现层100

6.1用户体验优先100

6.1.1关注交互101

6.1.2用户体验不是用户界面102

6.1.3如何创建有效的体验104

6.2真实场景107

6.2.1ASP.NET网站107

6.2.2WebForms与ASP.NETMVC111

6.2.3给网站添加设备支持113

6.2.4单页应用程序117

6.2.5桌面富客户端120

6.3总结122

6.4笑到122

第7章神秘的业务层123

7.1用来组织业务逻辑的模式123

7.1.1CRUD童话与架构白马王子124

7.1.2事务脚本模式124

7.1.3领域模型模式127

7.1.4贫血领域模型(反)模式128

7.2把焦点从数据移到任务129

7.2.1ASP.NETMVC里的任务编排130

7.2.2在领域里编排任务133

7.3跨越边界传输数据134

7.3.1分层架构里的数据流134

7.3.2共享领域模型实体135

7.3.3使用数据传输对象136

7.4总结138

7.5笑到138

第3部分支撑架构

第8章领域模型导论140

8.1从数据到行为的转变140

8.1.1模型和领域背后的基本原理140

8.1.2数据库是基础设施142

8.2领域层的内部143

8.2.1领域模型143

8.2.2聚合145

8.2.3领域服务150

8.2.4领域事件152

8.2.5横切关注点155

8.3总结157

8.4笑到157

第9章实现领域模型158

9.1在线商店示例项目158

9.1.1入选的用例158

9.1.2入选的方案159

9.1.3"买买买"项目的结构160

9.1.4入选的技术161

9.1.5在线商店的绑定上下文162

9.1.6"买买买"应用程序的上下文映射163

9.2领域建模实用指南164

9.2.1行为是游戏规则的变革者164

9.2.2实体的基架166

9.2.3值对象的基架169

9.2.4标识聚合172

9.2.5持久化模型179

9.3实现业务逻辑182

9.3.1查找订单183

9.3.2下订单183

9.3.3忠诚卡(或客户忠诚计划)187

9.4总结187

9.5笑到187

第10章CQRS导论188

10.1分离命令与查询188

10.1.1CQRS模式概论189

10.1.2CQRS的好处190

10.1.3在业务层里使用CQRS191

10.1.4CQRS总能胜任架构需要193

10.2查询栈194

10.2.1读取领域模型194

10.2.2设计只读模型外观196

10.2.3分层表达式树198

10.3命令栈202

10.3.1回到表现层203

10.3.2规范化命令和事件205

10.3.3处理命令和事件207

10.3.4现成的存储212

10.4总结214

10.5笑到214

第11章实现CQRS215

11.1CQRS的实现215

11.1.1普通简单的CQRS215

11.1.2具有命令架构的CQRS217

11.2实现查询栈219

11.2.1创建读取外观219

11.2.2为调用方打包数据220

11.3实现命令栈224

11.3.1奠定基础224

11.3.2通过命令编排用例227

11.4总结230

11.5笑到230

第12章事件溯源导论231

12.1事件的突破231

12.1.1下一件大事(重装上阵)231

12.1.2现实世界不仅有模型,还有事件232

12.1.3抛弃"最近已知的正常状态"232

12.1.4事件对软件架构的深刻影响234

12.2事件源架构236

12.2.1持久化事件236

12.2.2回放事件238

12.3总结240

12.4笑到240

第13章实现事件溯源241

13.1事件溯源:为何以及何时241

13.1.1为什么说事件溯源是一个资源242

13.1.2事件溯源何时合适243

13.2带有回放的事件溯源244

13.2.1现场比分系统244

13.2.2系统的实现246

13.3带有聚合快照的事件溯源255

13.3.1迷你企业资源规划系统256

13.3.2系统的实现257

13.4总结2617

13.5笑到261

第4部分基础设施

第14章持久层264

14.1持久层概览264

14.1.1持久层的职责264

14.1.2仓储模式的设计265

14.2实现仓储268

14.2.1仓储的查询部分268

14.2.2持久化聚合271

14.2.3存储技术272

14.3为何你该考虑非关系型存储275

14.3.1熟悉NoSQL276

14.3.2你会得到什么,又会失去什么277

14.3.3做出一个正确的选择280

14.4总结282

14.5笑到282

网友评论(不代表本站观点)

免责声明

更多出版社