为什么域模型不应该用作REST API中的资源?
我发现一个声明,即根据DDD设计的域模型不应该用作REST API中的资源( source). 很明显,REST API是应用程序的契约,而域模型是实现的一部分,因此最好将这两个事物分开,这样域模型的更改不会自动意味着更改REST API. 但是,我认为在小型项目(REST API只有一个消费者 – 由一个团队开发的javascript前端)的情况下,拥有单独模型的好处并不能证明分离模型的成本(不同的类 – 域模型和资源表示和模型之间的映射代码).显然,域层不能引用REST特定的基础结构代码(以保持关注点分离). 域和REST模型应该分开吗? 解决方法使用DDD时,REST API应始终与域模型分离.这样做的主要原因是简化 – 您不希望通过API将域模型的复杂性泄露给客户端.否则,客户需要了解域的细微差别和复杂性,这很可能使API难以使用. 使用DDD的主要驱动因素是一个复杂的问题域,因此这始终是一个问题.
我同意有些项目的分离域模型和REST API过度工程化.但是,这些案例不适合DDD,因为您不会从DDD中获益足以证明其成本合理. (编辑:滁州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |