SlideShare ist ein Scribd-Unternehmen logo
1 von 18
DDD 15年文章導讀與相關案例
作者:蘇立群(Richard)
分享相關資源
分享大綱
● 分享者介紹
● 書籍介紹:DDD15年
● DDD15年閱讀指引
● DDD15年第一章-本書核心章節
● DDD15年第三章-用事件風暴找尋限界上下文
● 資源索引
分享者介紹
● Hello!!我是立群(Richard)
● 政大應數畢業
● 中研院資訊所
● 芝加哥大學計算數學學生
● DDD新手
● DDD15年翻譯者+主要審稿者
講者linkedin
書籍介紹:DDD15年
優點:
● DDD領域專家意見
● 與時俱進
● 實作價值
缺點:
● 對初學者不算友好
● 各章獨立,缺乏系統
● 難易度差異巨大
DDD15年閱讀指引
目標:新手快速使用DDD的概念解決實務問題
步驟:
1. 了解自己的需求,感覺跟DDD好像有關
2. 閱讀第一章,了解DDD整體概念
3. 看難度表和簡介,尋找適合自己的章節
4. 了解整體概念不要拘泥於文章,從中紀錄專有名詞
5. 尋求社群人員討論
DDD15年閱讀指引
目標:新手快速使用DDD的概念解決實務問題,而後學習DDD
步驟:
1. 完成上述5點
2. 把所有基礎章節看完,請注意英文專有名詞
3. 不要馬上看進階章節!!!
4. 尋求DDD社群提供系統化訓練
DDD15年第一章-本書核心章節
DDD是什麼?
一種思維方式也是一個應做事項的清單來幫助非技術人員和技術人
員溝通並實作完成軟體專案
DDD15年第一章-本書核心章節
書中特色:
思維方式:技術與業務的合作思維
應做事項:必做事項的列表
實作:各種實作案例
軟體:可以派上用場的實戰程式碼
DDD15年第一章-本書核心章節
DDD各種核心要素:
● 拆分問題--歸納核心競爭領域
● 業務與技術合作--如何跨領域合作
● 統一語言--統一不同想法
● 限界上下文--分開統一語言
● 保留思考痕跡
DDD15年第三章-用事件風暴找尋限界上下文
為什麼需要限界上下文?
● 含糊的共享=成倍的預算
● 沒人知道全部的業務,沒有人!!
● 需要的是犯罪現場式的調查,而不是一個問卷調查的談話
DDD15年第三章-用事件風暴找尋限界上下文
所需材料與等待時間:
● 所有的關鍵人物(業務和技術關係人)
● 無限制的建模空間(通常是把一個長紙捲貼在一面很長的牆壁
上,外加數百張彩色便利貼)
● 讓他們以時間先後順序,使用領域事件來再現整個業務流程
● 通過一些引導方法,在幾個小時內,我們最終就能得到整個一
個很大的行為模型
DDD15年第三章-用事件風暴找尋限界上下文
討論指引
A. 發散想法,了解每個腳色所思考的業務想法
B. 順理邏輯,強制按時間排序和邏輯順理業務
C. 從不同使用者的角度思考,確定所需開發的系統
D. 限界上下文的確認,細解說的排演
A.發散想法,了解每個角色所思考的業務想法
● 沒有人知道完整的故事
● 擴大想法,而非創造共識
● 接上,關注同一概念的不同措辭
● 這一步通常是靜悄悄的
結果:每個人對業務的想法都會呈現在白板上
B.順理邏輯,強制按時間排序和邏輯順理業務
● 按時間順序來描述業務流程
● 詳加記錄所有平行和替代的路徑
● 設定關鍵事件,此事件標誌著不同業務階段間的轉換
● 接上,正確的關鍵事件其實並不重要,目的只是為了更快地整
理內部事件
結果:確保每個人對於關鍵事件和時間流程都有一個全盤的認識以及
有個思考上的共識
C.從不同使用者的角度思考,確定所需開發的系統
● 針對同一個業務中不同參與者(不同層級的顧客和員工等)的觀點
進行思考
● 對以上需求思考分析出可能需要的軟體系統
結果:瞭解各個使用者對業務的思考,並且多規畫出許多有意義的系
統來解決問題
D.限界上下文的確認,細解說的排演
● 系統整體仍然讓人感到混亂
● 選一位敘述人從左到右講述整個故事
● 觀眾需要經常挑戰敘述人與建議説故事的方式
● 重新檢視行為模式細項,最終提供一些特殊情況和常見例外的
案例
結果:增進大家對於業務的理解,並創造有效率的限界上下文
DDD15年第三章-用事件風暴找尋限界上下文(複習)
討論指引
A. 發散想法,了解每個腳色所思考的業務想法
B. 順理邏輯,強制按時間排序和邏輯順理業務
C. 從不同使用者的角度思考,確定所需開發的系統
D. 限界上下文的確認,細解說的排演
資源索引
講者linkedin 分享相關資源 講者逐字稿

Weitere ähnliche Inhalte

Empfohlen

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
Simplilearn
 

Empfohlen (20)

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 

Reading guide of Domain-Driven Design the first 15 years

Hinweis der Redaktion

  1. Hello 大家好,我是這場DDD 15年文章導讀與相關案例介紹的分享者,我叫立群 在開始分享之前希望大家都可以留意這個QRcode,裡面有許多這場分享會的ppt以及其他可以幫助到您的資訊,大家可以拿出手機來點入連結 首先我還是得官腔一下,謝謝大家參與今天的DDD活動,不論是本來就對DDD很有興趣的朋友,剛好有公司票的朋友,或是被你的朋友強迫推銷來的朋友,你們的支持都對我們的慶功宴菜色,不是,對於我們推廣DDD的熱情有著非常大的鼓舞,再次感謝你們 那接著...
  2. 這場演講的大綱如下,會先介紹我自己,然後簡單介紹這本書,並且介紹這本書的閱讀指引,大家可以參考我QRcode列出的其他資訊,以及我會舉幾章我印象比較深刻的章節
  3. 沒錯,中途加入或是剛剛沒有掃到Qrcode的朋友也不用擔心,每一張投影片都有一個剛剛的資訊QRcode 首先先自我介紹一下,我是立群我畢業於政大應數,我過去在中研院與台灣yahoo合作網購的推薦系統演算法開發,因為在過程中發現業務人才與非軟體工程師的合作上仍存在很多隔閡,所以對DDD的開發產生興趣 我今年原本要去就讀芝加哥大學的研究所,卻因為疫情多留了下來了一年,我本身對於DDD的資歷很淺,我都會把自己的學習歷程放在linkedin上,所以有興趣的可以看我的linkedin,我對DDD的資歷淺到我的linkedin上完全看不出DDD的痕跡XD(笑話) 而這意味著我是以一個新手的身分來看待的DDD的,我認為這很幸運也很重要,因為可能有跟我一樣的DDD新手,我可以對這些人更感同身受一些,先切到我這次的演講主題:
  4. 我的分享主題是:DDD 15年文章導讀與相關案例介紹,DDD15年是今年DDD協會主打的一本書,我們會在下個月將這本書的繁體中文版公開,我是繁體中文版本裡面的翻譯者加主要審稿者,雖然這本書毫無疑問的是一本實用與理論的好書,但對於書中的章節可能相對於對新手並非那麼友善,如果直接一篇一篇閱讀很可能會迷失在裡面,然後那本書就會被大家當成墊泡麵的用具了,因此我的這個分享會希望可以幫助不論是新手或是舊手都可以對這本書有更多合理的使用,幫助大家學到更多 讓我們來看這本書的幾個優缺點,這本書名字叫DDD15年,15年這個時間是相對於著名的DDD藍皮書,出版後的第15年,在15年間DDD改變了很多,因此DDD歐洲年會邀請了一些在DDD領域有著卓越成就的一些人,或是常常給歐洲年會贊助的人,邀請他們分享一些實作上的經驗,注意我這邊說的是一群優秀的人,所以這帶出了第一個特點 1.專業而與時俱進的實作DDD書籍,這本書的權威性和2.時效性是不需要質疑的,都相當的優秀,此外這本書也有相當的3.實作價值,有許多程式碼部分的範例和實例講解 但同時,也因為這本書是由超過一個作者編寫的,所以1.整體的內容不是連貫的,無法像閱讀教科書一般閱讀,章節間可以說沒什麼關係,也因為2.專業性所以有些部分寫的對新手不怎麼友善,此外3.難度相差極大,可以參考我的本書章節難度編排表,初級,中級與高級的分級差異巨大,讀完中級也很難看懂高級,需要對DDD有系統性了解才能看懂 雖然這本書有不少的缺點,但好的讀書方法可以盡量放大優點,避開缺點,而這就是這個分享的目的
  5. 首先我設定讓閱讀者的目標,是如何快速用DDD的概念解決問題,也就是想要設定越少的章節可以達到最高的效果,因此我做了這張各章簡介表,表中最重要的是難度等級,有許多是以我來看適合新手閱讀,讀了也很有效果,有些則是比較進階的章節,這裡的進階不代表看完新手以及中級章節後可以接續閱讀的意思,而是可能對整個DDD有除了這本書外比較系統了解與實作經驗之後再去閱讀會得到更多的意思,整體來說,我設定上一般初學者或是可能沒那麼多經驗的人可以以下面方式閱讀 (1)了解自己的需求,感覺跟DDD好像有關,至於和DDD有關的感覺可以從後面的介紹得知(2)閱讀第一章,第一章可以讓你確認DDD的大綱(3)看難度表,和簡介,尋找適合自己的章節和實作(4)了解整體概念不要拘泥於文章而後紀錄專有名詞(5)尋求社群人員確認,了解前四點之後你要跟社群人員討論應該就能事半功倍了
  6. 上一張投影片是有關於如何快速運用DDD解決您專案的方法,但如果想要對DDD更加了解,可以在做完上述五點解決現在發生的問題後再(6)把所有基礎章節看完,但請注意專有名詞需要被了解,了解專有名詞之後延伸學習DDD會更容易,而且可以特別注意英文的原始名詞,因為中文名詞老實說我覺得翻譯的很難準確,接著不要馬上看進階章節,那是需要經過DDD系統訓練才可以的! 接下來透過讀書會閱讀其他書籍和實作應該就能很快的入手DDD了,下面我將特別說幾章我覺得特別感興趣的章節...