当前位置:主页 > 书籍配套资源 > Web开发配套资源
《Web开发者晋级之道:架构、模式和领域驱动设计》源码

《Web开发者晋级之道:架构、模式和领域驱动设计》源码

  • 更新:2021-12-06
  • 大小:7.7 MB
  • 类别:Web开发
  • 作者:王西友
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书系统介绍软件的设计思想、架构和开发模式,便于读者能够快速建立软件开发的知识体系,并通过学习基于ASP.NET Core的项目案例,掌握如何利用这些知识高效开发稳定的Web应用程序。

本书共10章,分为2篇。第1篇介绍软件设计思想、软件架构、面向对象编程的六大原则和设计模式等,本篇内容是软件开发初学者晋升道路上必须掌握的知识。第2篇首先介绍领域驱动设计,然后通过项目案例,展示以领域模型为核心的Web应用程序的完整开发过程,本篇内容体现了高品质软件开发的核心价值,也体现了面向对象程序设计的思想价值。

本书理论结合实践,讲解深入浅出,适合有一定C#语言基础的Web开发人员阅读,尤其适合想要进一步晋升自己知识体系和水平的Web程序员阅读。另外,本书也可以作为相关培训机构的教材使用。

目录

  • 前言
  • 第1篇 软件开发内功心法
  • 第1章 如何开始一个软件项目2
  • 1.1 软件项目开发面临的挑战2
  • 1.1.1 领域模型的创建3
  • 1.1.2 架构的选择4
  • 1.1.3 软件框架的使用5
  • 1.1.4 数据存储的实现6
  • 1.2 小结6
  • 第2章 软件如何解决问题7
  • 2.1 软件的发展历程7
  • 2.1.1 面向过程的编程8
  • 2.1.2 面向对象的编程9
  • 2.1.3 面向组件的编程16
  • 2.1.4 面向方面的编程19
  • 2.1.5 综述21
  • 2.2 对象的意义21
  • 2.2.1 对象和类型22
  • 2.2.2 对象的创建和生命周期的控制23
  • 2.2.3 对象的依赖26
  • 2.3 组件26
  • 2.3.1 接口与实现分离27
  • 2.3.2 接口分解30
  • 2.3.3 接口的多重实现与继承33
  • 2.3.4 接口与契约式编程34
  • 2.4 小结35
  • 第3章 软件架构36
  • 3.1 软件架构概述36
  • 3.1.1 软件架构的定义36
  • 3.1.2 软件架构风格和架构模式38
  • 3.1.3 4+1视图40
  • 3.2 主流软件架构简介41
  • 3.2.1 分层架构41
  • 3.2.2 MVC架构45
  • 3.2.3 REST架构47
  • 3.2.4 微服务架构52
  • 3.3 小结54
  • 第4章 面向对象的设计模式和原则55
  • 4.1 重用55
  • 4.1.1 继承重用56
  • 4.1.2 组合重用60
  • 4.1.3 模式重用62
  • 4.2 面向对象的设计原则63
  • 4.2.1 单一职责原则63
  • 4.2.2 开闭原则65
  • 4.2.3 里氏代换原则67
  • 4.2.4 依赖倒置原则71
  • 4.2.5 接口隔离原则73
  • 4.2.6 迪米特法则75
  • 4.3 设计模式79
  • 4.3.1 设计模式的定义80
  • 4.3.2 设计模式的分类和应用80
  • 4.3.3 如何使用设计模式81
  • 4.4 小结81
  • 第5章 项目概况与架构设计83
  • 5.1 iShopping项目83
  • 5.1.1 项目简介83
  • 5.1.2 用Java还是.NET Core84
  • 5.1.3 集成开发环境85
  • 5.2 iShopping的架构设计86
  • 5.2.1 领域驱动设计和逻辑视图86
  • 5.2.2 开发视图88
  • 5.2.3 进程视图89
  • 5.2.4 物理视图91
  • 5.2.5 场景视图92
  • 5.3 小结93
  • 第2篇 领域驱动设计落地
  • 第6章 领域模型96
  • 6.1 领域驱动设计96
  • 6.2 领域对象的识别与创建98
  • 6.2.1 实体对象99
  • 6.2.2 实体对象的标识和替换104
  • 6.2.3 值对象108
  • 6.2.4 用值对象封装复杂的逻辑114
  • 6.3 整体设计124
  • 6.3.1 领域的划分125
  • 6.3.2 限界上下文127
  • 6.3.3 限界上下文的映射128
  • 6.4 聚合142
  • 6.4.1 聚合对象142
  • 6.4.2 使用聚合对象实现限界上下文143
  • 6.4.3 聚合对象之间的导航151
  • 6.4.4 聚合内部对象的实现和引用156
  • 6.5 领域服务对象157
  • 6.5.1 领域服务158
  • 6.5.2 领域服务和应用服务160
  • 6.5.3 领域服务与贫血模型161
  • 6.6 领域事件163
  • 6.6.1 领域事件简介164
  • 6.6.2 领域事件的发布和订阅166
  • 6.7 领域对象的生命周期176
  • 6.7.1 工厂和构建器176
  • 6.7.2 仓储对象179
  • 6.8 小结182
  • 第7章 综合运用领域模型183
  • 7.1 商品目录上下文的实现183
  • 7.1.1 商品分类聚合的实现184
  • 7.1.2 商品聚合的实现192
  • 7.2 订单上下文的实现202
  • 7.2.1 购物车聚合的实现204
  • 7.2.2 订单聚合的实现210
  • 7.2.3 订单优惠聚合的实现224
  • 7.2.4 订单费用计算服务的实现229
  • 7.3 小结232
  • 第8章 基础设施层的实现233
  • 8.1 基础设施层的创建233
  • 8.2 数据存储234
  • 8.2.1 数据库设计范式235
  • 8.2.2 事务238
  • 8.2.3 NoSQL数据库240
  • 8.3 对象关系映射241
  • 8.3.1 对象-数据库阻抗失配241
  • 8.3.2 对象关系映射的困难242
  • 8.3.3 传统的数据访问技术ADO.NET243
  • 8.4 Entity Framework Core框架247
  • 8.4.1 Entity Framework Core的引用247
  • 8.4.2 Entity Framework Core简介249
  • 8.4.3 实现自定义数据上下文252
  • 8.4.4 实现对象仓储270
  • 8.5 MongoDB应用280
  • 8.5.1 MongoDB数据库281
  • 8.5.2 使用MongoDB实现对象仓储283
  • 8.6 RabbitMQ应用287
  • 8.6.1 RabbitMQ的安装和配置288
  • 8.6.2 使用RabbitMQ实现事件总线290
  • 8.7 使用第三方WebAPI297
  • 8.7.1 WebAPI访问技术297
  • 8.7.2 使用WebAPI实现运输距离的计算300
  • 8.8 小结303
  • 第9章 应用程序层的实现304
  • 9.1 应用程序层简介304
  • 9.1.1 应用程序层和应用服务306
  • 9.1.2 应用服务的接口形式310
  • 9.1.3 CQRS风格的应用服务312
  • 9.1.4 事件存储317
  • 9.2 实现查询的方法319
  • 9.2.1 对象的映射319
  • 9.2.2 查询过滤器321
  • 9.2.3 数据代理327
  • 9.2.4 查询门面334
  • 9.3 小结341
  • 第10章 展示层和MVC框架342
  • 10.1 ASP.NET Core MVC框架342
  • 10.1.1 路由343
  • 10.1.2 MVC简介346
  • 10.1.3 控制器349
  • 10.1.4 控制器和领域模型352
  • 10.1.5 视图和模型354
  • 10.1.6 OWIN和反向代理358
  • 10.2 ASP.NET Core MVC项目361
  • 10.2.1 搭建MVC362
  • 10.2.2 依赖注入容器367
  • 10.2.3 搭建前端开发框架371
  • 10.3 控制器和视图的实现372
  • 10.3.1 控制器和视图373
  • 10.3.2 视图的表单提交377
  • 10.3.3 视图与服务器的异步通信379
  • 10.4 小结382

资源下载

资源下载地址1:https://pan.baidu.com/s/1XZXj_pn2WKzzdVBoDtrNWw

相关资源

网友留言