浑元换算策略和武德换算策略-《分析模式》漫谈36

news2024/11/29 10:36:30

DDD领域驱动设计批评文集

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

《软件方法》各章合集


“Analysis Patterns”的第3章有这么一句:

A conversion, however deterministic, does not follow that faithfully.

2004(机械工业出版社)中译本的译文为: 

图片

翻译基本上是正确的,特别是标红的deterministic翻译为形容词。

2020(人民邮电出版社)中译本的译文为:  

图片

看起来好像长得差不多(当然,多了不少字),但实际上意思已经不对了。

这个地方犯的错误,和之前的漫谈文章“怎么老是你?-《分析模式》漫谈25”中提到的把how abstract误作how to abstract类似。 

图片

同样,however+形容词,也是形容数量和程度的,意思是“无论再怎么**”,见以下词典截图: 

图片

摘自https://www.oxfordlearnersdictionaries.com/definition/english/however

因此,原文:

A conversion, however deterministic, does not follow that faithfully.

翻译过来应该是:

换算无论再怎么确定,也显得不够忠实。

2020中译本的“怎样确定换算方法”,相当于把原文当成“how to determine a conversion method”了,听起来像是GoF的策略模式: 

图片

还有一个让译者产生错觉的原因,可能是how或者however后面跟着的那个词,本身就可以作为动词(例如上文提到的abstract)或者存在长得差不多的动词(例如deterministic→determine)。

如果是上面词典截图中的however small、however cold可怎么办呢?

我在《评 “状态和事件本质相同”》中也说到类似错觉:

英语中,规则动词的过去式和过去分词后面都是ed,也许正是这一点让领域驱动设计专家误认为这两个ed是一回事,从而得出了惊天的结论。

碰到不规则动词,这个问题就暴露出来了。

do的过去式是did,不能作为形容词,可以作为形容词使用的是“to do”、“doing”、“done”,这也是我们常见到的状态的名称。

did是一个行为,瞬间发生就结束,done是一个状态,可以停留在那里很久。

混淆过去式和过去分词的知识错误,在领域驱动设计专家翻译的《实现领域驱动设计》中译本中也有体现。

**********

Fowler说“换算是确定的(deterministic)”,是什么意思呢?

就像下面这个公制和英制的换算: 

图片

下面这个就不是了: 

图片

张三说他重185磅,你在大脑里给他换算一下,把84千克记到系统里,虽然没有大问题(现在定义质量单位都精细到出动普朗克常数了,还能有什么大变化),但还是显得不够忠实,因为张三没有这么说——这就是Fowler的意思。

张三往账户里存一个小目标的港币,你给他换算成美元记到系统里,那就不只是“不够忠实”了,要出大问题的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2189129.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTB:Explosion[WriteUP]

目录 连接至HTB服务器并启动靶机 1.What does the 3-letter acronym RDP stand for? 2.What is a 3-letter acronym that refers to interaction with the host through a command line interface? 3.What about graphical user interface interactions? 4.What is the…

【MySQL 08】复合查询

目录 1.准备工作 2.多表查询 笛卡尔积 多表查询案例 3. 自连接 4.子查询 1.单行子查询 2.多行子查询 3.多列子查询 4.在from子句中使用子查询 5.合并查询 1.union 2.union all 1.准备工作 如下三个表,将作为示例,理解复合查询 EMP员工表…

深入探究:在双链表的前面进行插入操作的顺序

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝惟有主动付出,才有丰富的果…

一次解决Go编译问题的经过

用Go语言编写了一个小的项目,项目开发环境是在本地的Windows环境中,一切单元测试和集成测试通过后,计划将项目部署到VPS服务器上自动运行,但在服务器上执行go run运行时,程序没有任何响应和回显,甚至main函…

有没有一款软件,可以在二楼电脑直接唤醒三楼的电脑?

前言 今天有个小姐姐找到我,咨询能不能在二楼的电脑直接访问到三楼电脑的资料。 这个肯定是可以的啊! 其实事情很简单,只需要弄好共享文件夹这个功能,只要手机、平板或者电脑在同个局域网下,就能访问到三楼电脑里的…

深入理解Dubbo源码核心原理-Part4

现在开始研究,消费端真正调用proxy的方法时,走的rpc调用 接下来就要走client,发送request请求了 Dubbo协议是怎样的呢? 具体每个字段什么含义请参照官网 链接:Dubbo协议头含义 编码器按照Dubbo协议来进行编码请求 Ne…

JVM内存回收机制

目录 1.JVM运行时数据区 2.JVM类加载过程 3.双清委派模型 4.垃圾回收机制(GC) 找出谁是垃圾方案一:引用计数 找出谁是垃圾:方案二,可达性分析 释放垃圾的内存空间 判断垃圾:jvm依据对象的年龄对 对象…

基于Zynq SDIO WiFi移植三(支持2.4/5G)

应用问题-WIFI作为AP-hostapd多次连接 设备作为WIFI热点时,连接出现了下述问题: 1 手机连接需要三次,三次都需要输入密码; 2 平板连接需要三次,三次都需要输入密码; 3 电脑连接需要一次,无感…

隧道人员定位UWB双通道定位终端

大家好,我是华星智控小智,今天我给大家介绍我们的UWB双通道定位终端。 双通道定位终端(型号STD)主要用于隧道人员或天车定位,终端基于无线脉冲技术,采用双天线设计,可实现对2路方向的测距定位&a…

实施威胁暴露管理、降低网络风险暴露的最佳实践

随着传统漏洞管理的发展,TEM 解决了因攻击面扩大和安全工具分散而产生的巨大风险。 主动式 TEM 方法优先考虑风险并与现有安全工具无缝集成,使组织能够在威胁被有效利用之前缓解威胁。 为什么威胁暴露管理 (TEM) 在现代网络安全策略中变得至关重要&…

使用模拟和真实的 Elasticsearch 来测试你的 Java 代码

作者:来自 Elastic Piotr Przybyl 在本文中,我们将介绍并解释两种使用 Elasticsearch 作为外部系统依赖项来测试软件的方法。我们将介绍使用模拟测试和集成测试的测试,展示它们之间的一些实际差异,并给出一些关于每种风格的提示。…

嵌入式C语言自我修养:编译链接

源文件生成可执行文件的过程? 源文件经过预处理、编译、汇编、链接生成一个可执行的目标文件。 编译器驱动程序,包括预处理器、编译器、汇编器和链接器。Linux用户可以调用GCC驱动程序来完成整个编译流程。 使用GCC驱动程序将示例程序从ASCII码源文件转换…

如何使用EventChannel

文章目录 1 知识回顾2 示例代码3 经验总结我们在上一章回中介绍了MethodChannel的使用方法,本章回中将介绍EventChannel的使用方法.闲话休提,让我们一起Talk Flutter吧。 1 知识回顾 我们在前面章回中介绍了通道的概念和作用,并且提到了通道有不同的类型,本章回将其中一种…

仿RabbitMQ实现消息队列服务端(一)

文章目录 交换机数据管理队列数据管理绑定信息(交换机-队列)管理队列消息管理虚拟机管理交换机路由管理队列消费者/订阅者管理 整体框架:工具模块及项目整体模块框架 交换机数据管理 交换机数据管理就是描述了交换机应该有哪些数据 定义交换机数据类 1、交换机的名…

Linux忘记root用户密码怎么重设密码

直接说步骤: 1.重启客户机 2.在选择内核页面快速按e键,进入编辑模式 进入后应该是这个样子 在这里只能按上下键切换行 找到Linux16这里 3.按右方向键切换到行尾,也就是UTF-8处,在后面添加一个空格,然后加上这段话 …

鸿蒙网络管理模块04——网络连接管理

如果你也对鸿蒙开发感兴趣,加入“Harmony自习室”吧!扫描下方名片,关注公众号,公众号更新更快,同时也有更多学习资料和技术讨论群。 1、概述 网络连接管理提供管理网络一些基础能力,包括WiFi/蜂窝/Etherne…

数据库概述(1)

课程主页:Guoliang Li Tsinghua 数据库在计算机系统中的位置 首先,数据库是在设计有大量数据存储需求的软件时必不可少可的基础。 最常见的是:我们通过app或者是浏览器来实现一些特定需求——比如转账、订车票。即引出背后的CS和BS两种网…

如何用深度神经网络预测潜在消费者

1. 模型架构 本项目采用的是DeepFM模型,其结构结合了FM(因子分解机)与深度神经网络(DNN),实现了低阶与高阶特征交互的有效建模。模型分为以下几层: 1.1 FM部分(因子分解机层&#…

Epoch、Batch与Iteration简答理解

揭秘神经网络训练的三大神秘要素:Epoch、Batch与Iteration 在探索深度学习的奇妙世界时,你是否曾被Epoch、Batch和Iteration这三个术语搞得晕头转向?别担心,今天我们就来揭开它们的神秘面纱,带你深入了解神经网络训练的奥秘! 一、Epoch:时间的轮回,数据的洗礼 Epoch…

Python | Leetcode Python题解之第454题四数相加II

题目: 题解: class Solution:def fourSumCount(self, A: List[int], B: List[int], C: List[int], D: List[int]) -> int:countAB collections.Counter(u v for u in A for v in B)ans 0for u in C:for v in D:if -u - v in countAB:ans countAB…