[全文]买椟还珠和坏事变好事?《分析模式》漫谈19

news2024/9/23 1:29:15

DDD领域驱动设计批评文集

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

《软件方法》各章合集


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

Modeling in a programming language also presents the danger of tying the models to that language. The model may use features of that language that are not available in other languages.

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

图片

标红的地方,翻译基本可以。

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

图片

这个意思就有点不对了。

(1)“这样就可以”听起来好像是好事,和前面的danger对不上

danger在于“其他语言不具备这些特性(are not available in other languages.)”(2020中译本未体现这个意思),说“这样就可以”像是为“模型和特定语言绑定”寻找理由:为什么我要用编程语言来建模,因为这样就可以使用该语言的特性呀!

但本文所给出的这一段原文中,并没有为这个做法寻找理由的内容。

2024中译本打算这样译:

用编程语言建模还存在将模型与该语言绑定的危险。模型可能使用该语言的某些特性,而其他语言不具备这些特性。这并不意味着概念模型无法迁移到另一语言,但可能会使这个过程更加困难。

(2)danger

2004中译本翻译为“危险”,这是可以的,但是2020中译本翻译成“风险”,这个就不太合适,会让人误以为原文是risk。

其他地方,例如第三章原文里有risk,2020中译本也同样翻译成“风险”,这怎么区分呢?

图片

这样就让人感觉用词比较随意。

我再举一个例子:

还是刚才那句话,其中有个features,2020中译本翻译成“特性”,这个是对的。

但是,同一章的另一处也有features,2020中译本却翻译成“功能”,会让人误以为原文是function。

图片

关于特性跟功能有什么区别,那是另外一个问题了。

(3)artifact不是“系统”

上图又引出一个新问题:

图片

除了把features翻译成“功能”之外,2020中译本还把artifact(应译为“工件”或“制品”)翻译成“系统”。

如果说作者想说系统、功能,他会用system、function之类的。他既然用了这两个词,我们就应该尽量去体现原文的含义。Folwer这里说的应该就是通用的工程实践,适用于各种artifact。

更为有趣的是,artifact用在软件开发中,本意是指“系统”之外的各种副产品,下图摘自wikipedia:

图片

把artifact译作“系统”,刚好译反了,有一种“买椟还珠”的感觉。

图片

artifact广义上也可以认为是关于系统的所有一切,当然可以包括“系统”在内,但不能说artifact就是系统。

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

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

相关文章

pythonUI自动化008::allure测试报告(安装及应用)

allure报告预览 1 下载jdk,配置jdk Path变量: https://www.cnblogs.com/FBGG/p/15103119.html(这里不作阐述,请看该偏文章配置即可) 2 下载allure驱动,配置allure Path变量: 下载allure驱动&a…

Springboot 开发之 Quartz 任务调度框架简介

引言 Quartz Scheduler是一个功能丰富的开源作业调度库,它允许开发人员以灵活的方式创建和管理定时任务。以下是对Quartz Scheduler的详细解析: 官网地址:https://www.quartz-scheduler.org/w3cschool 官方文档:https://www.w3c…

离子交换技术:助力电池材料纯度提升的环保解决方案

在新能源技术迅猛发展的今天,电池正极材料的生产和性能成为了科研与工业界的关注焦点。特别是锂离子电池,其广泛运用于电动汽车和各类便携式电子设备中,对电池性能的要求日益严苛。电池正极材料中的球形氢氧化镍直接影响着电池的充放电效率、…

PhotoShop - 初级抠图

1. 调整边缘 1.1 快速选择工具 使用快速选择工具,photoshop会智能的去识别图像中的边缘部分并以此选区 1.2 参数调整 使用快速选择工具选区之后,实际上很多边缘部分是识别不明确的,所以我们需要进一步调节参数使得选区中的边缘识别更加明…

区分恶意加密货币地址:基于西里尔字母伪装的安全隐患分析

引言 在当前的网络环境中,安全威胁变得越来越复杂,特别是在涉及加密货币交易时,攻击者常常利用各种手段来欺骗用户。最近,研究人员发现了一种利用西里尔字母(Cyrillic alphabet)伪装的恶意手法&#xff0c…

前端学习笔记-JS篇-03

循环for语句 for 是JavaScript提供的另一种循环控制的话句,它和 while只是语法上存在差异。 for循环基本使用 作用:重复执行代码 好处:把声明起始值、循环条件、变化值写到一起,让人一目了然,它是最常使用的循环形式 for(变量起始值;终止…

猫头虎 分享已解决Bug || TypeError: Cannot read property ‘map‘ of undefined 解决方案

🐯 猫头虎 分享已解决Bug || TypeError: Cannot read property map of undefined 解决方案 摘要: 今天猫头虎带大家深入探讨在前端开发中常见的一个令人头疼的问题:TypeError: Cannot read property map of undefined。这个错误通常出现在我…

【Python机器学习】树回归——树回归与标准回归的比较

模型树、回归树和一般的回归方法,为了测试哪个模型最好,可以设计一些函数,它们可以在树构建好的情况下对给定的输入进行预测,之后利用那个这些函数来计算三种回归模型的测试误差。这些模型将在某个数据上进行测试,该数…

DC系列靶场---DC 9靶场的渗透测试

信息收集 地址探测 使用arp-scan 对目标主机做地址探测 arp-scan -l -I eth0 目标主机IP地址为172.30,1,134 端口扫描 使用nmap对目标主机做端口扫描 nmap -sS -sV -T4 -p- -O 172.30.1.134 目标主机开放了80端口,但是22端口是过滤。这个22端口应该是关闭的&a…

95% 向量资源节省,火山引擎云搜索 RAG 技术体系演进

采访嘉宾 | 火山引擎云搜索团队 鲁蕴铖、李杰辉、余炜强 编辑 | Tina InfoQ 2023 年,大模型惊艳了世界。2024 年,RAG 技术如日中天。 RAG 使得大模型能够在不更新模型参数的情况下,获得必要的上下文信息,从而减少大模型的幻觉。…

pytorch,用lenet5识别cifar10数据集(训练+测试+单张图片识别)

目录 LeNet-5 LeNet-5 结构 CIFAR-10 pytorch实现 lenet模型 训练模型 1.导入数据 2.训练模型 3.测试模型 测试单张图片 代码 运行结果 LeNet-5 LeNet-5 是由 Yann LeCun 等人在 1998 年提出的一种经典卷积神经网络(CNN)模型,主要…

dos命令获取java进程的pid并停止 bat脚本 第二篇

最近要做一个java程序一键重启的功能,主要思路是用批处理命令先将java程序停止,然后重新启动,研究了一把dos命令, taskkill /?取得帮助, taskkill /FI是筛选器: 然后很happy的写好停止脚本如下: taskkill /f /fi "IMAGENAME eq javaw.exe"是不是这样就行了…

spring中使用到的设计模式有哪些

Spring 框架是一个高度模块化和灵活的框架,广泛使用了各种设计模式来实现其核心功能和架构。这些设计模式帮助 Spring 提供了高可配置性、可扩展性和可维护性。以下是 Spring 框架中使用到的一些关键设计模式:

linux 安装jdk步骤

建议用免安装版的,安装方法如下: 一、软件下载 查看系统多少位 getconf LONG_BIT 下载JDK(下面分别是32位系统和64位系统下的版本) # 32位 http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-i586.tar.gz?…

来电、消息提醒延时很久,该如何解决

使用华为穿戴设备且同时使用三方安卓手机的朋友们,是否发现自己的华为手表经常接不到电话,接到消息提醒也是延时很久?不是手表有问题,而是因为三方安卓手机系统管控华为运动健康App,导致推动来电和消息有延迟。 若您使…

《实现 DevOps 平台(2) · GitLab CI/CD 交互》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…

猫头虎 分享:Python库 Flask 的简介、安装、用法详解入门教程

🐯 猫头虎 分享:Python库 Flask 的简介、安装、用法详解入门教程 这是猫头虎带给大家的一篇关于Flask框架的入门教程!🎉 今天猫头虎要跟大家聊聊Python中的一个非常重要且流行的库——Flask。如果你正在寻找一个轻量级、易上手、…

基于CANopen的LabVIEW同步与PDO通信示例

该程序展示了在LabVIEW中使用CANopen协议实现同步消息(SYNC)和PDO(过程数据对象)通信的流程。 以下是程序各部分的详细解释: 接口创建 (Interface Create): 创建一个CANopen接口,并设定通信的波…

git常见命令和常见问题解决

文章目录 常见命令问题问题1(git push相关)问题2(git push相关)问题3(git push相关)删除github的仓库github新创建本地仓库的操作…or create a new repository on the command line…or push an existing …

【burp + ddddocr 加载验证码识别插件对登录页面进行爆破】

1 插件下载 项目地址: https://github.com/c0ny1/captcha-killer https://github.com/f0ng/captcha-killer-modified 安装burp插件: 下载已编译好的jar文件 https://github.com/f0ng/captcha-killer-modified/releases 2 验证码识别平台使用 https://g…