【内容简介】
“每个有思想的软件开发者的书架上都应该有这样一本书”——Kent Beck
“Eric设法收集了经验丰富的对象设计人员一直使用的一些设计过程,作为一个团队的人们在这些过程中却没能够成功地完成剩下的工作。人们将知识弄得支离破碎……却从来没有将建立领域逻辑的原则组织起来并使其系统化。这本书是非常重要的。”——
Kyle Brown,《Enterprise Java Programming with IBM WebSphere》的作者。
本书涉及的主题具体包括:
●隔离领域●实体、值对象、服务和模块●一个领域对象的生命周期●将过程表示为领域对象●创建没有副作用的函数●总体轮廓●独立的类●扩展说明●应用分析模式●将设计模式与模型相联系●维护模型的完整性●设计领域前景声明●选择重构目标●职责层次●创建可插入的组件框架●结合大比例结构与界限上下文
本书为读者系统地介绍了领域驱动的设计方法。书中介绍了大量优秀的设计示例、基于经验的技术以及促进处理复杂领域的软件开发的基本原则。本书将设计和开发实践相结合,在介绍领域驱动设计时,还提供了大量的Java示例,这些例子都是从实际中提取出来的,展示了领域驱动设计在软件开发中的实际应用。
通过对本书的阅读,读者将获得对领域驱动设计的总体认识,了解领域驱动设计中涉及的关键原则、术语和推断。本书介绍的经验和标准模式将为开发团队提供一种通用语言。另外,书中还介绍了如何在领域模型中进行重构,如何与敏捷开发进行集成,如何获得对领域更深的认识并增进领域专家和程序员之间的交流等。并在此基础上,介绍了在复杂系统和较大组织中进行的领域驱动设计。
【译者序】
在项目中担任过分析和设计工作的人,对于下面一些问题,一定会与译者一样深有同感:.
概念混淆,术语混乱—— 在讨论时,经常发现不同的人把同一个词理解为不同的概念,导致沟通无法顺利进行;
设计似乎很难理解—— 开发人员无法很快抓住设计的重点,甚至会出现不同程度和方向的曲解;
代码也很难理解—— 阅读代码比编写代码更痛苦,即使它严格地遵循了缩进规则和命名规范;
当需求发生变化时,发现要对设计作大量修改——框架、模式似乎并未带来所需的灵活性;
当系统的复杂性达到相当程度时,整个项目似乎会无可避免地滑入“焦油坑”,或者为维护工作而疲于奔命。
如果您想思考为什么会..
<< 查看译者序
【前言】
从领先的软件设计人员开始将领域建模及设计视为关键性课题到现在至少已经有20年的时间了,然而令人惊讶的是,几乎没有相关的文献来告诉大家应该做什么和如何做。尽管领域建模和设计并没有被明确地形式化,然面在对象领域中出现了一种潜在的哲学体系,它就是我所说的领域驱动设计(domain-driven design)。.
我花费10年时间开发了几个商业和技术领域的复杂系统。在工作过程中,我尝试了几种已经出现在面向对象开发前沿领域的设计与开发程序。这些项目中有一些非常成功,也有少数几个最终失败。成功项目的共同特征是在迭代的设计中不断地完善领域模型并将它作为项目的骨干结构的一部分。
本书提..
<< 查看前言