我可以重用值对象吗?

Ala*_*lms 2 domain-driven-design

根据域驱动设计,我可以从外部来源导入和重用常见的价值对象,例如电子邮件,SocialSecurityNumber,货币等吗?

看来这很不好,因为我依靠我的Domain核心中的外部代码,但另一方面,我似乎会通过一遍又一遍地重写相同的代码来重新发明轮子。

Mik*_*eSW 5

嗯...可以导入和重用通用的东西,例如电子邮件,SSN。基本上,导入内容的问题在于它们在其原始有限上下文中可能意味着其他内容。例如,货币可能不是您的域所需要的。但是,诸如电子邮件之类的东西已经足够通用,无所谓了。

tldr; 只要通用概念足够通用,以至于它们在您的域中具有相同的含义,就可以重用它们。

PS:您可以在验证输入(即域外)时重用它们。