去年十月【API Design 讀書會】之後,原本要再接再厲,推出 microservices 及 domain-driven design 系列,以深耕團隊的技術實力。不過後來,主觀判斷,專案管理心態更是當務之急,因此,將讀書會主題暫時改設定成【工作分解講座】及【三年後,你的工作還在嗎】。

也已經好幾個月了。現在,要回頭盯技術了。

讀書會材料,當然就是這兩本書:


兩本都是經典,自然不宜囫圇吞棗。

接下來,為期兩季的 microservices + DDD 讀書會,乾脆也採用 1~2 weeks 迭代的方式進行吧,也比較容易出深入一點的 ORID 考題。

如此下去,我們的團隊會變成什麼樣子呢?真令人期待。



首次登場的,是 Domain-Driven Design 這本書。


Sprint 1 / 基本觀念

Chapter 1 - 消化知識 (Crunching Knowledge)

Chapter 2 - 交流與語言的使用 (Communication and the Use of Language)



提問


提問 #1

請問,為什麼作者主張,開發人員有必要同時具備「技術知識」(technical knowledge) 及「領域建模」(domain modeling) 能力?

你同意作者的論述嗎?


提問 #2

請問,為什麼作者主張,軟體專案需要有一種「公共語言」(ubiquitous language)?

你同意作者的論述嗎?


提問 #3

請問,為什麼作者主張,要透過對話來研究、改善模型?

你同意作者的論述嗎?


提問 #4

現在,請你一個人,或是和相關的同事合作,嘗試一下「大聲地建模」(Modeling Out Loud)。

請參考本書第一~二章的種種文字及示意圖範例,替你 and/or 同事的軟體專案,產出第一版的 Ubiquitous Language & Model。

⋯⋯而且,會請你真的・說・出・來。

注意:這只是第一版,不需要太完善。隨著讀書會繼續進行下去,我們還會不斷迭代精煉這份第一版的模型。

Candidates (including, but not limited to):

  • 摘錄自公司專案的真實語彙 [略]




答案提示

先隱藏。等作業檢討時,再端出。

  1. 參考 p.11
  2. 參考 p.17
  3. 參考 p.21