• 领域驱动设计:业务建模与架构实践
  • 领域驱动设计:业务建模与架构实践
  • 领域驱动设计:业务建模与架构实践
  • 领域驱动设计:业务建模与架构实践
  • 领域驱动设计:业务建模与架构实践
  • 领域驱动设计:业务建模与架构实践
21年品牌 40万+商家 超1.5亿件商品

领域驱动设计:业务建模与架构实践

全新正版 极速发货

65 6.0折 109 全新

库存6件

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

作者王红亮

出版社机械工业

ISBN9787111737544

出版时间2023-11

装帧其他

开本其他

定价109元

货号31894954

上书时间2024-12-05

學源图书专营店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
目 录 Contents <br />前言<br />第1章 DDD的基本原则与价值分析1<br />1.1 DDD的初心1<br />1.1.1 软件项目成败的关键1<br />1.1.2 两个亟须验证的事实3<br />1.2 DDD的基本原则6<br />1.2.1 DDD的两个基本原则7<br />1.2.2 原则的底层逻辑10<br />1.3 DDD的价值分析12<br />1.3.1 复杂度控制12<br />1.3.2 架构原则16<br />1.3.3 团队协作20<br />1.4 关于DDD原则的案例23<br />第2章 DDD落地难点分析35<br />2.1 DDD的适用范围35<br />2.1.1 领域特性36<br />2.1.2 团队成熟度38<br />2.1.3 适用性评分表39<br />2.2 5个常见误区39<br />2.3 文化的变革44<br />2.3.1 领域专家的边界44<br />2.3.2 设计师的锤子46<br />2.3.3 开发人员的轮子47<br />2.4 团队的挑战48<br />2.4.1 管理者的责任48<br />2.4.2 开发团队的意识和技能50<br />2.4.3 角色重新定位51<br />2.5 测试、过程和架构的最佳搭档52<br />2.5.1 测试的最佳搭档:TDD和<br />   单元测试52<br />2.5.2 过程的最佳搭档:敏捷过程<br />   和DevOps54<br />2.5.3 架构的最佳搭档:六边形、<br />   洋葱和分层架构56<br />第3章 DDD成熟度模型59<br />3.1 成熟度模型的目的及特殊性59<br />3.2 5个度量维度60<br />3.3 3级成熟度模型63<br />第4章 模型的要素—用例、<br />    视图和构造块68<br />4.1 模型的构建步骤68<br />4.2 模型的场景:用例69<br />4.2.1 用例的定义69<br />4.2.2 用例的目的70<br />4.2.3 发现用例72<br />4.2.4 用例的编写73<br />4.3 模型的数据:类图76<br />4.3.1 属性77<br />4.3.2 方法78<br />4.3.3 注释、约束和关键字79<br />4.3.4 依赖和限定关联80<br />4.3.5 聚合与组合82<br />4.4 模型的行为:交互图83<br />4.4.1 时序图84<br />4.4.2 协作图89<br />4.4.3 交互图与类图的关系91<br />4.5 模型的变化:操作契约92<br />4.5.1 作用93<br />4.5.2 后置条件94<br />4.5.3 准则94<br />4.6 模型的构造块:实体、值对象、<br />   领域服务95<br />4.6.1 实体95<br />4.6.2 值对象99<br />4.6.3 实体与值对象的比较103<br />4.6.4 领域服务105<br />第5章 从语言到模型—基础<br />  模型构建108<br />5.1 设计目标108<br />5.2 设计之前的准备工作110<br />5.2.1 语言110<br />5.2.2 角色111<br />5.2.3 沟通111<br />5.2.4 方法113<br />5.2.5 工具113<br />5.2.6 时间115<br />5.3 领域模型的构建115<br />5.3.1 发掘领域概念116<br />5.3.2 创建关联118<br />5.3.3 定义属性123<br />5.3.4 分配职责125<br />5.3.5 触发事件128<br />5.3.6 处理异常134<br />5.4 典型的领域逻辑建模137<br />5.4.1 规则与约束137<br />5.4.2 流程与分支140<br />5.4.3 验证与筛选142<br />5.4.4 算法与计算144<br />5.4.5 时间与空间146<br />5.4.6 有状态与无状态149<br />5.4.7 同步与异步150<br />5.5 典型案例151<br />5.5.1 案例1:在线购物网站152<br />5.5.2 案例2:汽车租赁系统153<br />5.5.3 案例3:银行系统154<br />第6章 精炼模型—深入模型设计156<br />6.1 模型引力场:聚合156<br />6.1.1 聚合的定义及作用157<br />6.1.2 聚合规则158<br />6.1.3 聚合设计法则158<br />6.1.4 实现方法161<br />6.2 模型装配线:工厂163<br />6.2.1 为什么需要工厂163<br />6.2.2 厂址选择169<br />6.3 模型货架:存储库171<br />6.3.1 为什么需要存储库171<br />6.3.2 存储库接口175<br />6.3.3 存储库与工厂的区别176<br />6.3.4 存储库与数据访问对象的区别177<br />6.3.5 存储库实现的注意事项177<br />6.4 富二代的烦恼:基类与继承178<br />6.4.1 抽象、泛化与DDD178<br />6.4.2 通用语言与基类179<br />6.4.3 为多态去继承181<br />6.4.4 合格的子类、自然的继承关系:<br />   Liskov原则182<br />6.4.5 抽象类与接口的选择183<br />6.5 模型质量:优秀的开发组件 184<br />6.5.1 精心设计领域模型的特征184<br />6.5.2 模型设计的基本原则186<br />6.5.3 为扩展性而设计188<br />第7章 分而治之—上下文、<br />    模块和子域191<br />7.1 分离用例、模型和团队:上下文191<br />7.1.1 什么是上下文191<br />7.1.2 为什么需要上下文193<br />7.1.3 上下文的识别方法195<br />7.1.4 识别上下文的步骤199<br />7.1.5 同一上下文工作法200<br />7.1.6 跨上下文团队工作法202<br />7.2 重用性和稳定性:模块207<br />7.2.1 包的内聚性原则207<br />7.2.2 包的耦合性原则209<br />7.3 区别特殊性与一般性:子域211<br />7.3.1 核心竞争力:核心域211<br />7.3.2 周边业务:支撑域215<br />7.3.3 通用能力:通用域215<br />7.4 上下文、模块和子域之间的关系216<br />7.4.1 上下文和子域的关系216<br />7.4.2 上下文和模块的关系216<br />7.4.3 子域和模块的关系217<br />第8章 关键细节—从模型到代码218<br />8.1 DDD 中的代码要求218<br />8.2 忠于模型:从模型到代码219<br />8.2.1 领域相关概念及对应实现219<br />8.2.2 一个逻辑匹配多种实现227<br />8.3 表达通用语言:命名的力量229<br />8.3.1 方法命名:揭示业务而非实现229<br />8.3.2 属性和变量命名:可读性231<br />8.3.3 其他类型的命名233<br />8.3.4 通用命名规则234<br />8.4 健壮性与灵活性:决定成败的<br />   细节236<br />8.4.1 优先使用无状态和无副<br />   作用函数236<br />8.4.2 优先使用值对象237<br />8.4.3 查询函数和修改函数分离241<br />8.4.4 增加参数和减少依赖 242<br />8.4.5 移除标记参数244<br />8.4.6 聚合根私有化属性设置函数245<br />8.4.7 以多态取代条件表达式245<br />8.4.8 以工厂取代构造函数248<br />8.4.9 保持对象完整性与通过标识<br />   引用对象250<br />8.4.10 引入断言252<br />8.4.11 闭环操作函数253<br />8.5 良好的注释:完善代码表达254<br />8.5.1 注释的原则254<br />8.5.2 注释的目的254<br />8.5.3 注释的技巧256<br />8.5.4 领域模型注释法256<br />8.6 完备的单元测试:即时验收<br />   领域逻辑258<br />8.6.1 价值258<br />8.6.2 测试用例设计261<br />8.6.3 FIRST原则265<br />第9章 智慧模型—将设计模式<br />    应用于模型设计267<br />9.1 算法装配器:策略模式268<br />9.1.1 应用场景268<br />9.1.2 共性特征269<br />9.1.3 领域模型270<br />9.1.4 实现代码271<br />9.1.5 收益分析275<br />9.1.6 建模步骤276<br />9.2 只见树木,不见森林:组合模式276<br />9.2.1 应用场景276<br />9.2.2 共性特征277<br />9.2.3 领域模型278<br />9.2.4 实现代码278<br />9.2.5 收益分析281<br />9.2.6 建模步骤281<br />9.3 用户的操作面板:门面模式281<br />9.3.1 应用场景281<br />9.3.2 共性特征282<br />9.3.3 领域模型282<br />9.3.4 实现代码283<br />9.3.5 收益分析284<br />9.3.6 建模步骤284<br />9.4 为工作流建模:模板模式284<br />9.4.1 应用场景284<br />9.4.2 共性特征285<br />9.4.3 领域模型285<br />9.4.4 实现代码286<br />9.4.5 收益分析288<br />9.4.6 建模步骤289<br />9.5 全局协调人:单例模式289<br />9.5.1 应用场景289<br />9.5.2 共性特征290<br />9.5.3 领域模型290<br />9.5.4 实现代码291<br />9.5.5 收益分析292<br />9.5.6 建模步骤292<br />9.6 消息传播者:观察者模式293<br />9.6.1 应用场景293<br />9.6.2 共性特征293<br />9.6.3 领域模型294<br />9.6.4 实现代码294<br />9.6.5 收益分析297<br />9.6.6 建模步骤298<br />9.7 陌生人的翻译:适配器模式298<br />9.7.1 应用场景298<br />9.7.2 共性特征299<br />9.7.3 领域模型299<br />9.7.4 实现代码300<br />9.7.5 收益分析301<br />9.7.6 建模步骤302<br />9.8 完美的替身:代理者模式302<br />9.8.1 应用场景302<br />9.8.2 共性特征304<br />9.8.3 领域模型304<br />9.8.4 实现代码304<br />9.8.5 收益分析306<br />9.8.6 建模步骤306<br />9.9 互补的伙伴:访问者模式307<br />9.9.1 应用场景307<br />9.9.2 共性特征308<br />9.9.3 领域模型308<br />9.9.4 实现代码309<br />9.9.5 收益分析313<br />9.9.6 建模步骤313<br />9.10 状态决定表现:状态模式314<br />9.10.1 应用场景314<br />9.10.2 共性特征314<br />9.10.3 领域模型315<br />9.10.4 实现代码316<br />9.10.5 收益分析320<br />9.10.6 建模步骤321<br />9.11 分工流水线:职责链模式321<br />9.11.1 应用场景321<br />9.11.2 共性特征322<br />9.11.3 领域模型322<br />9.11.4 实现代码323<br />9.11.5 收益分析326<br />9.11.6 建模步骤326<br />9.12 组装搭配车间:桥接模式326<br />9.12.1 应用场景326<br />9.12.2 共性特征327<br />9.12.3 领域模型327<br />9.12.4 实现代码328<br />9.12.5 收益分析333<br />9.12.6 建模步骤334<br />9.13 模式场景对应表334<br />第10章 和谐生态—DDD 与<br />     系统架构338<br />10.1 DDD和架构生态338<br />10.1.1 DDD 对企业架构的价值338<br />10.1.2 DDD需要什么样的架构339<br />10.1.3 上下文、子域与架构的关系 340<br />10.2 天作之合:六边形架构342<br />10.2.1 六边形架构解析342<br />10.2.2 六边形架构的设计思想346<br />10.2.3 六边形架构的测试策略347<br />10.2.4 六边形架构与其他相关<br />    架构的比较348<br />10.3 完美伴侣:分层架构352<br />10.3.1 基础设施为底座:传统<br />    分层架构352<br />10.3.2 依赖反转:依赖倒置架构353<br />10.3.3 高级课题:细分领域层356<br />10.4 给子域赋能:微服务架构357

内容摘要
内容简介这是一本从业务和架构视角讲解DDD的基本原则、底层逻辑、落地难点、落地方法和进阶技巧的实战性著作。
DDD的理论体系复杂,学习和实践门槛较高,已有的关于DDD的著作或多或少存在理论描述难理解、案例示范难落地等问题,阻碍了DDD在实践中的应用。本书作者有20余年的软件研发经验,对DDD有深刻的理解,深谙DDD实践过程中的痛点,他在这本书中高屋建瓴、化繁为简,让读者有拨云见雾之感。
理论部分(第1~3章)从软件工程的基本思想出发,首先分析了DDD产生的原因,并由此推论出DDD的基本原则,这些内容是学习本书的基础;紧接着分析了DDD落地的难点,帮助读者扫清障碍;然后提炼出了DDD的成熟度模型,包括DDD的战略、战术和衡量指标。这些内容极具针对性和独创性,是研发团队必须掌握的,也是目前同类书中很少讲的。
实战部分(第4~10章)从业务建模和架构的角度切入,首先用搭积木的方式讲解和演示了DDD项目由简易到复杂的落地过程,包含大量的业务建模场景和案例,涉及如何应用通用语言、如何建模领域逻辑、如何应用上下文和子域切分系统以及如何保持语言、模型、代码的一致性等重要内容;然后讲解了如何将各种设计模式应用到DDD中,以及如何设计出能让DDD更好落地的系统架构。这些内容兼具实操性和思想性,充满经验和智慧,在同类书中同样也不多见。

   相关推荐   

—  没有更多了  —

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

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