掉餡餅,八分之一到二分之一:《分析模式》漫談59

DDD領域驅動設計批評文集

做強化自測題獲得“軟件方法建模師”稱號

《軟件方法》各章合集

“Analysis Patterns”的第6章“存貨和會計”原文:

The transaction's creation would then be the?only place?that could create entries. ...?Providing only?the transaction's creation routine is made public, this rule can be enforced.

2004(機械工業出版社)中譯本的譯文為:??

圖片

譯文基本上是正確的。

2020(人民郵電出版社)中譯本的譯文為:?

圖片

2020中譯本把Providing only一句翻譯為“只要……公有……就可以執行”,這是有問題的。

我們先拋開原文不談,從軟件設計的常理來看:軟件設計應該是能不public就盡量不public。如果一個解決方案是“只要public,問題就解決了”,這個解決方案是不是太容易了?

也許是翻譯的時候漏看了only,但這里的問題和翻譯、原創并沒有太大關系,而是對“天上掉餡餅”要持有基本的警惕。

/*花絮

就像我前幾天剛欣賞過的一篇領域驅動設計文章,里面描述領域驅動設計革命性創新“通用語言”的內容真是讓人流口水:?

圖片

亮點1:這招絕了。領域驅動設計又又又創新了。

亮點2:他們(n人),2天時間,50個術語。工作量堆滿。

亮點3:形成詞典。僅僅是詞典,還不是類圖、狀態機圖。

亮點4:開發效率提高30%。返工率降低40%。真厲害!

參見:小甜甜和牛夫人>>

*花絮結束/

**********

我們可以用更形式化的表示法來表示:?

圖片

按照原文的意思,如果有3個操作,“規則能強制執行”的概率只有1/8,如果按照2020中譯本的意思, 概率就上升到了1/2。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/79296.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/79296.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/79296.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用Python和Pandas實現的Amazon Redshift權限檢查與SQL生成用于IT審計

import pandas as pd import psycopg2 from psycopg2 import sql# 連接Redshift conn psycopg2.connect(hostyour-cluster.endpoint.redshift.amazonaws.com,port5439,dbnamedev,useradmin,passwordyour-password )# 權限檢查函數 def check_redshift_permissions(conn):"…

Cribl 數據脫敏 更多方法 MASK (三)

我做過好幾個cribl 數據脫敏的實驗: Cribl 脫敏mask-CSDN博客

Android Studio下載安裝教程

## 什么是Android Studio Android Studio是Google官方推出的Android應用開發集成環境(IDE),基于IntelliJ IDEA開發,專門用于Android應用開發。它包含了代碼編輯器、可視化布局編輯器、應用性能分析工具、模擬器等功能,為開發者提供了一站式的…

如何測試登錄模塊?全面測試思路解析

思路如下: 面試官問"如何測試一個登錄模塊?"時,考察的是你的測試思維是否全面,能否覆蓋功能、安全、性能、兼容性等多個維度。下面我會從不同角度詳細展開,確保回答既系統又深入。 1. 功能測試(Functional Testing) 1.1 正常流程測試 ? 正確的用戶名+密碼:…

MySQL基礎篇 | 數據庫概述及在TencentOS中安裝MySQL8.0.42版本

MySQL基礎篇 | 在TencentOS中安裝MySQL8.0.42版本 1. 數據庫概述2. 部署前準備工作2.1. 安裝依賴包2.2. GCC版本升級3. MySQL服務部署3.1. 編譯部署MySQL3.2. 初始化數據庫3.3. 啟動數據庫4. 數據庫配置4.1 配置環境變量4.2. 首次登錄設置1. 數據庫概述 SQL Server:SQL Server…

Angular教程前言:歷史、安裝與用途

Angular 是一個強大且流行的開源前端 Web 應用程序框架,由 Google 開發并維護 1。它在現代 Web 開發中占據著重要的地位,尤其在構建動態、高效且可擴展的 Web 應用程序方面表現出色,特別適用于單頁應用程序 (SPA) 和復雜的用戶界面 1。本教程…

systemd和OpenSSH

1 systemd 1.1 配置文件 /etc/systemd/system /lib/systemd/system /run/systemd/system /usr/lib/systemd/user 1.2 commands systemctl list-unit-files | grep enable systemctl cat dlt-daemon.service systemctl cat dlt-system.service systemctl show dlt-daemon.ser…

如何實現一個可視化的文字編輯器(C語言版)?

一、軟件安裝 Visual Studio 2022 Visual Studio 2022 是微軟提供的強大集成開發環境(IDE),廣泛用于C/C、C#、Python等多種編程語言的開發。它提供了許多強大的工具,幫助開發者編寫、調試和優化代碼。 1.下載 Visual Studio 202…

ArrayList的特點及應用場景

ArrayList的特點及應用場景 一、ArrayList核心特點 基于動態數組實現 底層使用Object[]數組存儲元素 默認初始容量為10 擴容機制:每次擴容為原來的1.5倍(int newCapacity oldCapacity (oldCapacity >> 1)) 快速隨機訪問 實現了R…

深挖Java基礎之:變量與類型

今天我要介紹的是在Java中對變量和類型的一些相關知識點的介紹,包括對基本數據類型,引用類型,變量命名規則和類型轉換以及其注意事項的解明。 java變量與類型:Java 是靜態類型語言,變量必須先聲明類型后使用。變量是存…

數據結構與算法學習筆記(Acwing提高課)----動態規劃·背包模型(一)

數據結構與算法學習筆記----動態規劃背包模型(一) author: 明月清了個風 first publish time: 2025.5.1 ps??背包模型是動態規劃中的重要模型,基礎課中已對背包模型的幾種模版題有了講解,[鏈接在這](數據結構與算法學習筆記----背包問題_有 n 件物品…

Java關鍵字解析

Java關鍵字是編程語言中具有特殊含義的保留字,不能用作標識符(如變量名、類名等)。Java共有50多個關鍵字(不同版本略有差異),下面我將分類詳細介紹這些關鍵字及其使用方式。 一、數據類型相關關鍵字 1. 基…

vue自定義表頭內容excel表格導出

1、安裝 npm install xlsx file-saver 2、使用 import * as XLSX from xlsx import { saveAs } from file-saverconst exportAccounts (data) > {// 將對象數組轉換為 worksheetconst worksheet XLSX.utils.json_to_sheet(data)// 創建 workbook 并附加 sheetconst wor…

鴻蒙NEXT開發組件截圖和窗口截圖工具類SnapshotUtil(ArkTs)

import { image } from kit.ImageKit; import { componentSnapshot, window } from kit.ArkUI; import { AppUtil } from ./AppUtil; import { ArrayUtil } from ./ArrayUtil;/*** 組件截圖和窗口截圖工具類* author 鴻蒙布道師* since 2025/04/28*/ export class SnapshotUtil…

C#與SVN的深度集成:實現版本控制自動化管理?

目錄 1. 環境準備 2. 創建 C# 工程 3. 引用 SharpSvn 庫 4. 編寫代碼 1. 環境準備 2. 創建 C# 工程 3. 引用 SharpSvn 庫 4. 編寫代碼 5. 代碼說明 6. 注意事項 1. 環境準備 首先,需要安裝 SharpSvn 庫。可以從 SharpSvn 官方網站 下載適合 .NET Framewor…

本文不定期更新,用于收錄各種怪異的python腳本

1.計算自然數對數底 a b 1 for n in range(1, 1001):a a * n 1b b * n t a % br . for i in range(1, 1001):t 10if t < b:r 0else:r str(t // b)t % bprint(str(a//b) r) 得到 2.7182818284590452353602874713526624977572470936999595749669676277240766303…

日志之ClickHouse部署及替換ELK中的Elasticsearch

文章目錄 1 ELK替換1.1 Elasticsearch vs ClickHouse1.2 環境部署1.2.1 zookeeper 集群部署1.2.2 Kafka 集群部署1.2.3 FileBeat 部署1.2.4 clickhouse 部署1.2.4.1 準備步驟1.2.4.2 添加官方存儲庫1.2.4.3 部署&啟動&連接1.2.4.5 基本配置服務1.2.4.6 測試創建數據庫和…

2025年大一ACM訓練-搜索

2025年大一ACM訓練-搜索 前期知識&#xff1a;DFS&#xff0c;本文搜索題解法以深度優先搜索為主 1.1 DFS 的定義 深度優先搜索&#xff08;Depth-First Search&#xff09;是一種用于遍歷樹或圖的算法。核心思想是盡可能“深入”訪問圖的每個節點&#xff0c;直到無法繼續前進…

Nginx核心功能02

目錄 一&#xff0c;正向代理 1&#xff0c;編譯安裝Nginx &#xff08;1&#xff09;安裝支持軟件 &#xff08;2&#xff09;創建運行用戶&#xff0c;組和日志目錄 &#xff08;3&#xff09;編譯安裝Nginx &#xff08;4&#xff09;添加Nginx系統服務 2&#xff0c…

rk3568安全啟動功能實踐

本文主要講述筆者在rk3568芯片上開發安全啟動功能實踐的流程。其中主要參考瑞芯微官方文檔《Rockchip_Developer_Guide_Secure_Boot_for_UBoot_Next_Dev_CN.pdf》。文檔中描述邏輯不是很清晰而且和當前瑞芯微的sdk中安全啟動的流程匹配度不高。本文就不再對瑞芯微官方文檔的內容…