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



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

正如许多人所提到的,贫血模型(或Martin Fowler称之为事务脚本(实际上适用于小型应用程序。尽管对于整体架构,我们必须使用更复杂的结构来处理复杂性,这是可以理解的。

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

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

Martin Fowler的《企业应用程序架构模式》可能是一个合理的起点。

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

另一个要考虑的启发式方法是此特定微服务是否有助于您的公司竞争优势。 如果你正在构建一些你更愿意购买的东西,那么对领域建模的大量投资就没有多大意义了。

另一方面,如果你期望生活在这段代码中,直到它变得灾难性的成功,并且你们都退休到某个地方的海滩,那么领域建模就会变得更加引人注目。

课程的马匹。

相关内容

最新更新