首页 > 其他分享 >老虎老鼠分不清楚-《分析模式》漫谈38

老虎老鼠分不清楚-《分析模式》漫谈38

时间:2024-10-15 10:51:03浏览次数:3  
标签:38 译文 漫谈 中译本 关联 翻译成 link 分不清楚 连接

DDD领域驱动设计批评文集

做强化自测题获得“软件方法建模师”称号

《软件方法》各章合集


“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

相关文章

  • 几种常用大模型工具生成基于hi3861的OpenHarmony代码的尝试
    引言最近在上智能物联网的课程,讲授基于hi3861的OpenHarmony编程,所以尝试一下使用大模型工具生成相关的代码,看看效果如何。提问的方式比较简单粗暴:在OpenHarmony的hi3861平台上,如何编程访问https的网站?KimiKimi是我用得最多的平台,它经过文献搜索之后给出如下答案。 ......
  • 洛谷P1638逛画展
    逛画展题目链接题目描述博览馆正在展出由世上最佳的\(m\)位画家所画的图画。游客在购买门票时必须说明两个数字,\(a\)和\(b\),代表他要看展览中的第\(a\)幅至第\(b\)幅画(包含\(a,b\))之间的所有图画,而门票的价钱就是一张图画一元。Sept希望入场后可以看到所有名师的图......
  • 洛谷P1381单词背诵
    单词背诵题目描述灵梦有\(n\)个单词想要背,但她想通过一篇文章中的一段来记住这些单词。文章由\(m\)个单词构成,她想在文章中找出连续的一段,其中包含最多的她想要背的单词(重复的只算一个)。并且在背诵的单词量尽量多的情况下,还要使选出的文章段落尽量短,这样她就可以用尽量短的......
  • 38个Python游戏开发库
    1PyGame官网:https://www.pygame.org/docs/概述:Pygame是一组专为编写视频游戏而设计的Python模块。它在优秀的SDL库之上添加了功能。这允许您使用python语言创建功能齐全的游戏和多媒体程序。Pygame具有高度的可移植性,可以在几乎所有平台和操作系统上运行。拓展:对Py......
  • 先到先得!字节内疯传的380页《从零开始大模型开发与微调基于PyTorch与ChatGLM》大模型
    大模型是深度学习自然语言处理皇冠上的一颗明珠,也是当前AI和NLP研究与产业中最重要的方向之一。本书使用PyTorch2.0作为学习大模型的基本框架,以ChatGLM为例详细讲解大模型的基本理论、算法、程序实现、应用实战以及微调技术,为读者揭示大模型开发技术。实战案例丰富基于Py......
  • 智融SW3538支持 PD 的多快充协议双口充电解决方案
    1.概述SW3538是一款高集成度的多快充协议双口充电芯片,支持A+C口任意口快充输出,支持双口独立限流。其集成了7A高效率同步降压变换器,支持PPS/PD/QC/AFC/FCP/SCP/PE/SFCP/TFCP/VOOC等多种快充协议,支持140W输出功率,集成CC/CV模式、双口管理逻辑以及双芯片动态......
  • AOT漫谈专题(第三篇): 如何获取C#程序的CPU利用率
    一:背景1.讲故事上篇聊到了如何对AOT程序进行轻量级的APM监控,有朋友问我如何获取AOT程序的CPU利用率,本来我觉得这是一个挺简单的问题,但一研究不是这么一回事,这篇我们简单的聊一聊。二:如何获取CPU利用率1.认识cpuUtilization字段熟悉.NET底层的朋友应该知道,.NET线程池中有一......
  • AT89C52+74LS138数码管(8段4角共阴极)显示Proteus仿真
    文章可以从下往上浏览(一个数码管开始,8段4角共阴极为江科大版本),有用点个赞哦KeiluVision5开发环境#include<REGX52.H>//数码管段码表unsignedcharNixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//延时子函数voidDelay(unsignedintxms){  ......
  • day38
    不同的子序列classSolution{public:intnumDistinct(strings,stringt){vector<vector<uint64_t>>dp(s.size()+1,vector<uint64_t>(t.size()+1,0));for(inti=0;i<s.size();++i){dp[i][0]=1;}for(inti=1;i<=s.size();++i)......
  • 基于Android的家庭理财管理和实现---附源码57138
    摘 要随着经济的发展和人们生活水平的提高,家庭理财管理变得愈发重要。然而,许多家庭对于如何有效地管理个人财务以及制定预算计划感到困惑。因此,本研究旨在提供一种简单、易用且功能全面的家庭理财管理工具。本论文旨在设计和开发一款基于Android平台的家庭理财管理APP。......