• Web开发者晋级之道:架构、模式和领域驱动设计
  • Web开发者晋级之道:架构、模式和领域驱动设计
  • Web开发者晋级之道:架构、模式和领域驱动设计
  • Web开发者晋级之道:架构、模式和领域驱动设计
21年品牌 40万+商家 超1.5亿件商品

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

①全新正版,现货速发,7天无理由退换货②天津、成都、无锡、广东等多仓就近发货,订单最迟48小时内发出③无法指定快递④可开电子发票,不清楚的请咨询客服。

80.09 7.3折 109.8 全新

仅1件

浙江嘉兴
认证卖家担保交易快速发货售后保障

作者王西友 著

出版社机械工业出版社

ISBN9787111688105

出版时间2021-08

装帧平装

开本16开

定价109.8元

货号31221530

上书时间2024-10-13

倒爷图书专营店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言
 

第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 Core 84

 

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

 

Web应用程序是企业应用开发的主流领域之一,它一般采用“客户端-服务器”架构,用户在客户端的浏览器上进行人机交互,而重要的逻辑和数据计算则在服务器上进行。随着移动互联网的普及,手机App逐渐兴盛,它比Web应用程序有更好的用户体验,在使用的灵活性上也远超Web应用程序,以至于出现了“手机App会代替Web应用程序”的说法。但这种说法忽略了一个事实:一个软件,尤其是企业应用软件,其核心在于解决问题的领域模型。从这个角度看,手机App和Web应用程序的区别仅仅在于人机交互方式的不同,手机App同样采用“客户端-服务器”架构,这和Web应用程序一样,其有价值的核心代码仍然运行在服务器上。事实上,手机App和Web应用往往使用的是同一个服务器。

 

随着物联网技术的发展,软件的交互方式更加丰富,很多联网的硬件可以和软件系统进行交互,而不仅限于人机交互。这些智能硬件作为新的交互方式将会大大改变软件的模式。手机App和Web应用程序作为流行的交互方式,将与智能硬件交互方式共存。交互方式本质上也是企业应用中流程控制的一种方式,就算Web应用程序会进化到所谓的“流程嵌入软件”的程度,运行在服务器端的越来越复杂的领域模型代码也不会改变。

 

开发一个功能强大、性能稳定、使用灵活和易扩展的Web应用程序离不开编程语言的支持,更离不开软件工程的支持。如果说软件产品是现实的抽象,那么软件工程就是抽象的抽象,或者说是对软件开发过程和解决方案的提炼与重用。对于开发人员而言,编程语言是基础,但其对软件工程的理解程度决定了他所开发的软件的质量。可以说软件工程的重要性要远大于编程语言本身,毕竟软件是思想的产物,而语言只是表达思想的手段。

 

目前,已经出版的Web开发类图书大多都把重点放在了Web框架的使用和项目的编码实现上,而鲜见一本从软件的设计思想、架构和开发模式的角度讲解Web开发的图书。这便是笔者写作《Web开发者晋级之道:架构、模式和领域驱动设计》的原因。《Web开发者晋级之道:架构、模式和领域驱动设计》将带领读者快速建立软件开发的知识体系,了解基于ASP.NET Core的项目案例的开发过程,从而帮助读者系统地学习开发高效、稳定的Web应用程序所需要掌握的知识。

 《Web开发者晋级之道:架构、模式和领域驱动设计》特色 不局限于Web框架的介绍,而是以架构和模式为起点,全面介绍应用软件解决问题的思路和方法。这些思路和方法是新入职开发人员所缺乏的,也是他们职业晋级所的。 通过一个Web应用项目案例,详细介绍领域驱动设计的落地过程和支撑技术,这对于Web应用开发人员而言有较高的参考价值。 用理论结合实战的方式进行讲解,帮助读者快速掌握项目开发的相关知识和技巧。 《Web开发者晋级之道:架构、模式和领域驱动设计》的项目案例源代码具有较高的工程应用价值,读者稍加修改即可用于自己的项目开发中。 《Web开发者晋级之道:架构、模式和领域驱动设计》内容 第1篇 软件开发内功心法 

第1章主要介绍开发一个软件项目需要面对的几个问题,包括领域模型的创建、架构的选择、软件框架的使用和数据存储的实现。

 

第2章主要介绍软件的发展历程,以及几种主流编程规范的特点和它们在描述问题、解决问题时的思想。其中,重点介绍面向对象和面向组件的编程思想,这是后续章节中要频繁使用的。

 

第3章围绕软件架构展开,主要介绍架构的概念、意义和描述架构的“4 1视图”,并介绍几种Web应用的常用架构,以及它们之间的演进过程。

 

第4章主要介绍面向对象程序设计的六大原则和设计模式的相关知识,这些原则用于指导开发人员在面向对象的程序设计中避免错误的选择,而更具象的设计模式则是这些原则的实际应用。

 

第5章介绍项目案例iShopping的背景知识,以及如何用“4 1视图”设计和描述项目架构。该项目是用流行的ASP.NET Core框架实现的,它是一款非常典型的企业级Web应用。

 第2篇 领域驱动设计落地 

第6章介绍领域驱动设计的工具,以及组成领域模型的基本元素的概念和意义。

 

第7章介绍如何综合运用第6章中介绍的工具和元素创建项目案例的领域模型。

 

第8~10章分别对iShopping系统的基础设施层、应用程序层和UI层的实现展开讲解,展示一个Web应用程序的完整实现过程。

 配套资源获取方式  读者对象 

《Web开发者晋级之道:架构、模式和领域驱动设计》适合以下读者阅读:

 有一定C#基础的Web开发人员; 想提升Web项目开发水平的程序员; Web开发项目经理; 高校相关专业的学生; 相关培训机构的学员。 

《Web开发者晋级之道:架构、模式和领域驱动设计》意在帮助新入行的软件开发人员和编程爱好者快速了解和掌握基于ASP.NET Core 的Web应用程序开发技术。阅读本书需要读者具备基本的C#语言基础和面向对象程序设计的基础知识。另外,建议读者对统一建模语言(Unified Modeling Language,UML)也要有所了解,这有助于更好地理解书中的模型。

 致谢 

编写本书遇到的困难远超笔者的想象。如果没有家人和朋友的支持,很难想象笔者能完成这本书的写作。在此首先要感谢笔者的家人,在编写本书的一年多的时间里,笔者陪伴他们太少。另外还要感谢参与本书出版的编辑,他们一次次不厌其烦地帮我出谋划策并细心地修改书稿,才得以让本书顺利出版。后感谢读者朋友们,本书因你们而有价值。

 

……



 
 
 
 

商品简介

《Web开发者晋级之道:架构、模式和领域驱动设计》系统介绍软件的设计思想、架构和开发模式,带领读者快速建立软件开发的知识体系,另外还详细介绍基于ASP.NET Core的项目案例开发,帮助读者全面掌握如何快速开发高效、稳定的Web应用程序。

 

《Web开发者晋级之道:架构、模式和领域驱动设计》共10章,分为2篇。第1篇“软件开发内功心法”,首先介绍软件设计思想、软件架构、面向对象编程的六大原则和设计模式等知识,为软件开发初学者晋级打好基础,然后简要介绍一个电商项目的概况和架构设计,为后续的项目开发实践做好铺垫。第2篇“领域驱动设计落地”,首先介绍领域驱动设计的思想与方法,然后通过一个电商项目案例的开发实践,展现以领域模型为核心的Web应用程序的完整开发过程,包括基础设施层的实现、应用程序层的实现和展示层的实现等,后对MVC架构做详细介绍,这些内容展现了高品质软件开发的核心价值和面向对象程序设计的思想价值。

 

《Web开发者晋级之道:架构、模式和领域驱动设计》理论结合实践,讲解深入浅出,适合有一定C#语言基础的Web开发人员阅读,尤其适合想要建立软件开发知识体系并提高开发水平的Web程序员阅读。另外,《Web开发者晋级之道:架构、模式和领域驱动设计》还可以作为相关培训机构的教材。



作者简介
王西友现供职于徐工集团,任主任设计师和特聘高级技术专家。多年以来一直从事智能控制和信息化软件的开发工作,在软件架构、设计模式及领域驱动设计方面有深厚的理论功底和丰富的开发经验。

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

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP