🎯 什麼情境該想到我
當你「多個上下文/系統之間要交換資料,卻各用各的內部格式,兩兩翻譯很混亂」的時候。你想約定一套公開、有良好文件的共享語言/格式,作為大家交換的共同媒介。
⚙️ 怎麼用(步驟 / 公式)
意圖:採用一套公開、文件完善的共享語言(常是標準化的 schema/格式,如產業標準或明確定義的交換格式)作為系統間資料交換的共同媒介,讓各方都翻譯到/自這套語言。
做法要點:
- 選用或制定一套良好文件化的公開交換格式(產業標準、或雙方共同定義的 schema)。
- 每個上下文只需在自己與「發布語言」之間做一次翻譯,而非跟每個對象各自對接。
- 明確版本化與文件化這套語言,讓所有參與方有共同依據。
- 常與開放主機服務搭配:OHS 是對外的服務協定,發布語言是它交換的資料語彙。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 制定與維護一套共享語言有成本;只有兩方、且關係簡單時,直接翻譯可能更省。
- 公開格式一旦被多方採用就難改,演化受限,需要嚴謹的版本治理。
- 通用格式常無法完美貼合每個上下文,翻譯時會有語意落差要留意。
🔗 相關工具
- 開放主機服務 Open Host Service(最常搭配的上游模式)
- 防腐層 Anticorruption Layer(各方把發布語言翻譯進內部模型的手段)
- 上下文對應 Context Map(發布語言是地圖上一種整合關係)
- 領域驅動設計