我一直在阅读有关DDD的一些内容并尝试理解它,但对泛在语言有疑问。在任何系统中,无论是DDD还是其他哲学,你都应该在代码中使用正确的域语言吗?
我知道有一些例外,例如域使用遗留语言。对于一个人为的例子,如果一位赛马专家谈到马的起跑门,并说他们被称为'#34;第一门#34;," Duo Gate"," Trio Gate&# 34;," Forth Gate"您可能希望通过调用Gate1,Gate2,Gate3和Gate4来简化域语言。在这种情况下,您可以更好地重新设计语言(在您看来)。
但除此之外,在我多年的开发过程中,我从未感受到在我的代码中使用域语言以外的任何东西的冲动。因此,普遍适用语言的规则确实是一项适用于所有发展的规则,而不是限制或发明的规则是正确的。由DDD?
答案 0 :(得分:1)
我认为埃里克埃文斯试图开车回家的重点不是让你的模型与无处不在的语言不同步。假设一开始开发人员可能称其为First Gate,后来发现域专家称之为“Starting Gate”(我不知道),但要确保回到代码并努力重命名实体和所有参考文献。
确保它在所有编程工作中都是很好的做法,但它在DDD中是必不可少的,这就是它得到特别关注的原因。