我正在一个项目中,我们试图将域驱动设计和REST都应用于面向服务的体系结构。我们不必担心100%符合REST。最好说我们正在尝试构建面向资源的HTTP API(Richardson REST成熟度模型的第2级)。但是,我们试图远离RPC样式的HTTP请求的使用,即,我们尝试根据RFC2616实现我们的HTTP动词,而不是使用POST
do来实现IsPostalAddressValid(...)
。
但是,对此的强调似乎是以我们尝试应用域驱动设计为代价的。只有GET
,POST
,PUT
,DELETE
和其他一些很少使用的方法,我们倾向于建立眉头服务和眉头服务往往有贫血的域模型。
POST
:接收数据,对其进行验证,然后将其转储到数据中。GET
:检索数据,然后将其返回。那里没有真正的业务逻辑。我们还在服务之间使用消息(事件),在我看来,大多数业务逻辑最终都围绕该消息构建。
REST和DDD是否处于某种程度的紧张状态?(或者我在这里误解了什么?我们是否可能在做其他错误?)是否有可能在面向服务的体系结构中构建强大的域模型,同时避免RPC样式的HTTP调用?