领域驱动设计-软件核心复杂性应对之道:序&前言

​ 有很多因素会使软件开发复杂化,但最根本的原因是问题领域本身错综复杂。如果你要为一家人员复杂的企业提高自动化程度,那么你开发的软件将无法回避这种复杂性,你所能做的只有控制这种复杂性。

​ 控制复杂性的关键是有一个好的领域模型,这个模型不应该仅仅停留在领域的表名,而是要透过表象抓住领域的实质结构,从而为软件开发人员提供他们所需的支持。

前言

复杂性的挑战

​ 很多因素可能会导致项目偏离轨道,如官僚主义、目标不清等。但真正决定软件复杂性的是设计方法。当复杂性失去控制时,开发人员就无法很好地理解软件,因此无法轻易、安全地更改和扩展它。而好的设计则可以为开发复杂特性创造更多机会。

​ 一些设计因素是技术上的。软件的网络、数据库和其他技术方面的设计耗费了人们大量的精力。很多书籍都介绍过如何解决这些问题。大批开发人员很注意培养自己的技能,并紧跟每一次技术进步。

然后很多应用程序最主要的复杂性并不在技术上,而是来自领域本身、用户的活动或业务。当这种领域复杂性在设计中没有得到解决时,基础技术的构思再好也无济于事。成功的设计必须系统地考虑软件的这个核心方面。

posted @ 2023-04-10 22:40  LHX2018  阅读(46)  评论(0编辑  收藏  举报