DDD之通用语言

究竟什么是通用语言?

这让我想起了世界语。地球上有多种不同的语言,于是有人发明了世界语。从此大家只要学好了世界语,就可以走遍世界了。然而世界语消失了,真正的世界语就是英语。

想想也是,假如我只会中文,你只会英文,是我们都学另一种语言更容易交流,还是我学英语或你学中文更容易交流呢?答案是显然的。

因此,领域专家和开发人员之间的语言该如何通用呢?

显然,领域专家是不可能使用开发人员的语言,为什么?因为先有有领域,再有计算机系统的,领域知识已积累发展了很多年,不可能因为要计算机化而改变。

所以,结果是开发人员必须尽可能的深刻理解领域知识,理解领域专家的语言。就象我们现在都学英语,没办法呀,我们需要大量学习外国的科学技术。

那么,照这样说领域专家的语言就是通用语言了?也不对,如果这样,就不用创建通用语言了。

我的理解是,通用语言以领域专家的语言为基础,开发人员进一步进行规范化,或简化,或抽象,使得该语言既正确又容易理解,且不脱离领域专家的语言范畴。

是这样吗?

相关文章

什么是设计模式一套被反复使用、多数人知晓的、经过分类编目...
单一职责原则定义(Single Responsibility Principle,SRP)...
动态代理和CGLib代理分不清吗,看看这篇文章,写的非常好,强...
适配器模式将一个类的接口转换成客户期望的另一个接口,使得...
策略模式定义了一系列算法族,并封装在类中,它们之间可以互...
设计模式讲的是如何编写可扩展、可维护、可读的高质量代码,...