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