InfoQ

迷你书

领域驱动设计精简版

作者 InfoQ.com 译者 孙向晖 霍泰稳 发布于 2007年9月26日 上午1时32分

社区
Architecture,
Agile
主题
方法论,
领域特定语言,
客户及需求
标签
领域驱动设计,
设计模式


大型软件项目的最复杂之处不是实现,而是软件所服务的真正的领域。领域驱动设计就是用来处理这些高度复杂领域的理想和途径,使得领域本身成为项目关注的焦点,从而达到维护能深刻反映领域的软件模型的目的。这个理想在Eric Evans的《领域驱动设计》一书中变成现实,Eric自己有着20多年的行业经验,对面向对象有着深刻的理解和观点。

本书共82页。

免费下载

如果你喜欢这本免费的下载版本,请通过购买本书打印版(英文版)以支持作者和InfoQ网站,或者: 免费下载这本书(PDF)

本书是Eric Evans的《领域驱动模型》一书的精简版,让你在短时间内理解领域驱动设计的内容。这本书没有介绍任何新的概念,它只是概要总结了领域驱动设计的本质, 抽取了Eric Evans原书中关于这一主题的大部分内容,以及其他相关资料,包括已经出版的书籍和各种领域驱动设计讨论群组等。这本书可以让你快速了解领域驱动设计的基础知识,但不能替代Eric书中提供的大量事例和 案例研究或者Jimmy书中提供的动手事例等。

目录

  1. 何为“领域驱动设计”
  2. 通用语言
  3. 模型驱动设计
  4. 面向深层理解的重构
  5. 保持模型一致性
  6. 领域驱动设计新进展:专访Eric Evans

关于本书

Domain-Driven Design Quickly由InfoQ.com网站制作,Abel Avram和Floyd Marinescu总结整理,Floyd Marinescu为责任编辑。特别感谢Eric Evans的支持,和Vladimir Gitlevich、Dan Bergh Johnsson的细心审校。《领域驱动设计精简版》由InfoQ中文站制作,孙向晖和霍泰稳翻译并审校,霍泰稳为责任编辑。发行本书的目的在于尽可能地介绍领域驱动设计,促使这一概念成为主流。

关于InfoQ企业软件开发系列图书

InfoQ企业软件开发系列图书意在通过简短、精干、省时的迷你书为读者提供尽可能方便的阅读体验,本系列图书面向的读者群为高级架构师、团队领导者等。如果你也想和大家分享你的开发经验,我们的系列图书就是一个非常不错的选择。InfoQ中文站会为你提供专业的写作指导,并将你的书推荐给国内知名出版社出版发行。邮件联系:china-editorial@infoq.com

查看英文原文:Domain Driven Design Quickly

深度内容

模块化Java:声明式模块化

本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。

Ian Robinson和Jim Webber谈论基于Web的整合

本采访是在伦敦举行的QCon2009上记录的,Ian Robinson和Jim Webber探讨了如何将Web作为整合平台以及REST在理论上和实践中的好处。

项目管理修炼之道(精选版)

项目管理对于项目成败至关重要,但实践中每个项目都有自己的独特性,没有现成的解决方案可以套用。书中从应对实际风险的角度出发,讲述了从项目启动、项目规划到项目结束的整个管理流程,展示了作者的思考过程。本迷你书从原书中精选出5个章节。

那是鸟,还是飞机?不,那是超人!

在这个演讲中,Fred将会揭示敏捷的一些外在因素,并会重点关注敏捷获得成功的内在原因。从案例研究和真实的项目经验来看,Fred认为:工具、管理体系都不能让你变得敏捷。敏捷的成功,植根于士气高涨、充分授权的工作者身上,他们能够以不同以往的方式思考问题。

访谈和书摘:Eben Hewitt的新书《Java SOA Cookbook》

Java SOA Cookbook

Eben Hewitt的新书《Java SOA Cookbook》从Java实现的角度讨论了面向服务架构。Eben在书中讨论了SOA基础、工具、最佳实践和SOA治理等主题。

Mark Richard的《Java消息服务》第二版

Mark Richards的新书《Java消息服务》第二版覆盖了JMS的许多主题, 包括发布和订阅模式以及点对点模式,消息过滤和事务等。InfoQ与Mark谈论了跟他的新作。

模块化Java:动态模块化

本文是“模块化Java”系列文章的第三篇,讨论动态模块化,内容涉及如何解析bundle类、bundle如何变化、以及bundle之间如何通信。

让测试也敏捷起来

对于测试组织来说,敏捷方法带来的快速迭代却让测试本身变得困难起来:缺乏“足够详细的文档”,缺乏“仔细设计用例的时间”等等。在本演讲中,段念将与大家探讨如何在敏捷过程中进行测试。