DDD之通用语言

究竟什么是通用语言?

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

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

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

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

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

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

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

是这样吗?

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...