“Analysis Patterns”的第3章有这么一句:
We also need to record the clinical knowledge of the link between weight loss and diabetes. Using the model shown in Figure 3.7, we would have difficulty recording this link.
2004(机械工业出版社)中译本的译文为:
link翻译成“关联关系”。可能是考虑到此处当名词用,所以加了一个尾巴“关系”。
2020(人民邮电出版社)中译本的译文为:
link翻译成“联系”。
两个好像差不多?
我们再往下看第三章,原文:
Rejected observations must be linked to the observation that rejects them.
2004(机械工业出版社)中译本的译文为:
link依然翻译成“关联”。
2020(人民邮电出版社)中译本的译文为:
link在这里被翻译成“连接”。
继续往下看,图3.14,原图:
2004(机械工业出版社)中译本的译文为:
在这里,link译为“连接”,可能是醒悟到association和link都叫“关联”不合适,改了个词,但前面已经译好的“关联”没改过来。
2020(人民邮电出版社)中译本的译文为:
link在这里被翻译成“关联”。
归纳一下这三处link的翻译如下:
2004(机械工业出版社)中译本:关联关系、关联、连接
2020(人民邮电出版社)中译本:联系、连接、关联
**********
Fowler为什么在这里用link,不用relate、connect、associate以及相应的变体?
实际上这几个词是不一样的,我们通过《UML参考手册(第2版)》来看这几个词的区别(第1版也可以)。
(1)connection(连接)
在《UML参考手册》中无词条,不作为UML中的术语,把它当成普通用词来用。也就是说,connection是这几个里面最垫底的、最基础的。
(2)relationship(关系)
定义为:模型元素之间的连接。注意定义中的用词是“连接”,而不是“关联”(association),更不是 “链接”(link),因为这些是在关系之后定义的。
关系的含义很广,包括类的泛化、关联、依赖,用例的扩展、包含,包的依赖、导入等等。
(3)association(关联)
定义为:实例之间存在连接的类元(classifier)关系。
这里的类元不一定是类,不过为了帮助理解,我们就用类来举例。
A和B两个类有关联,意味着A的某些实例和B的某些实例有连接,可以是1对1,1对多……
(4)link(链接)
定义为:关联的实例。和对象是类的实例类似。
对比如下:
注意,左侧类图有多重性,右侧对象图没有多重性。
由上可知,之前所列的Fowler原文说的recording this link、Rejected observations must be linked to the observation,就是(4)链接的意思。
**********
同一个词,一会这样译,一会那样译,这样的“漂移”现象背后的原因可能是对某些概念的区分没有搞清楚。
之前我评点过的Modeling Construct的翻译,也是这个问题:
*《分析模式》漫谈09- Modeling Construct>>
《实现领域驱动设计》的译者也有类似的混淆:
Eric Evans在“Domain-Driven Design”原书中也有associated和related不分的情况:
*《软件方法(下)》8.3.4.6 DDD话语“聚合”中的伪创新(2)>>
**********
有没有可能,人家什么都懂,然后发现之前的术语太老了,于是来一个领域驱动设计革命性创新?
也可能,大家可以阅读我上面所列的文章,自行判断。
之前我还有一篇文章,也谈过这个问题:
标签:38,译文,漫谈,中译本,关联,翻译成,link,分不清楚,连接 From: https://blog.csdn.net/rolt/article/details/142923438