领域驱动设计:业务建模与架构实践:business modeling and architecture practice
正版保障 假一赔十 可开发票
¥
73.3
6.7折
¥
109
全新
库存34件
作者王红亮著
出版社机械工业出版社
ISBN9787111737544
出版时间2023-11
装帧平装
开本16开
定价109元
货号14330552
上书时间2024-12-21
商品详情
- 品相描述:全新
- 商品描述
-
目录
目 录 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&am
— 没有更多了 —
以下为对购买帮助不大的评价