首页 > 解决方案 > 我将如何在值对象中制作单独的重复逻辑

问题描述

我正在学习 DDD(领域驱动设计)并阅读 Clean Architecture。我发现了值对象,并且一直在阅读有关它们的更多信息,并在我的应用程序中实现了一些,可以在https://gist.github.com/Tyler0722/73ec826be814b8e54b9f6ae6ae836409找到。

通过调用执行验证并遵循关注点分离原则的工厂方法来创建值对象。问题是我有两个验证逻辑重复的值对象。Username 和 QuizTitle 唯一的区别是MAX_LENGTH违反了 DRY 原则。我想知道是否有人知道我可以使这个干燥。

标签: node.jstypescriptdomain-driven-designclean-architecturevalue-objects

解决方案


我的建议是不要这样做。在这种情况下,它只是没有必要。

但是,如果您仍然想这样做,则可以使用静态函数构建一个 Validation 类。在我的工作中,我们使用Webmozart/Assert,如果你看一下它的实现,你就会明白我的意思。在我看来有很方便的。您也可以将 theMAX_LENGHT作为参数传递。


推荐阅读