你是否正在开发或者曾经开发过由众多相互关联的部件构成的复杂软件?这些软件的代码中是否充斥着随意的命名、混乱的关系,简直让你不能也不想去理解它们到底都在做些什么?当需要修改这些代码时,你是否常常觉得无从下手?你也许意识到问题的根源在于软件的概念完整性受到了破坏,也可能听说领域驱动设计是解决这一问题的良方,但当你阅读Eric Evans的经典著作《领域驱动设计:软件核心复杂性应对之道》时却觉得晦涩、抽象?或者,你已经尝试过在软件开发中实践DDD,但仍然为团队如何统一思想(即维护统一的领域模型),以及如何将模型映射到代码中付出了沉重的代价?也许,你已经意识到领域专用语言(DSL)是解决这些问题的关键钥匙——汝道不孤也!现在,这把已经打造完成的关键钥匙就在你的手中……