贫血模型或交易脚本是否足以满足微服务需求?

时间:2018-08-24 01:00:59

标签: domain-driven-design microservices

虽然我们经常谈论贫血的模型是反模式的,但我在考虑它是否足以满足微服务需求。

正如许多人所提到的那样,贫乏模型(或马丁·福勒(Martin Fowler)所称的交易脚本)对于小型应用程序实际上是好的。尽管采用整体架构,这是可以理解的,但我们必须使用更复杂的结构来处理复杂性。

但是,对于微服务而言,我们不太可能在一项服务中包含太多逻辑。相反,服务通常只在一个域中包含相关逻辑,这通常很容易理解和使用。在这种情况下,在微服务中使用事务脚本模型完全可以吗?

2 个答案:

答案 0 :(得分:1)

嗨,这取决于项目,您要记住,我们需要在ddd的方法中使用丰富的模型,因为使用领域方法的这些项目的性质很丰富,并且我们需要在那些项目中使用丰富的领域,现在在没有ddd方法的项目中,我的意思是数据驱动项目。我们也有Anemic模型来回答我们的工作。 因此,这取决于项目以及该项目采用的方法。 下面的链接可以帮助您: https://blog.pragmatists.com/domain-driven-design-vs-anemic-model-how-do-they-differ-ffdee9371a86

答案 1 :(得分:0)

Martin Fowler的企业应用程序体系结构模式可能是一个合理的起点。

  

如果您有涉及验证,计算和派生的复杂且不断变化的业务规则,则很可能需要对象模型来处理它们。另一方面,如果您有简单的非空检查和要计算的几笔总和,那么“交易脚本”是更好的选择。

另一个要考虑的启发因素是此特定的微服务是否有助于贵公司的竞争优势。如果您要建造自己想买的东西,那么对领域建模的巨额投资就没有多大意义。

另一方面,如果您希望一直在这段代码中工作,直到它取得灾难性的成功,并且您都退休到某个地方的海滩,那么域建模将变得更具吸引力。

课程的马匹。