領域驅動設計與簡潔架構入門實作班

最新梯次

台北班:2021年1月15、16、17日(五、六、日) /09:30-16:30

受益於微服務與事件驅動系統的普及,領域驅動設計(Domain-Driven Design;DDD)近年來廣為流行。本課程首先介紹領域驅動設計的原理,接著使用事件風暴(Event Storming)協助建立領域模型與通用語言(Ubiquitous Language)。在實作階段,套用Clean Architecture(簡潔架構),採用測試驅動開發(Test-Driven Development;TDD)方式撰寫程式。DDD + Clean Architecture + TDD,讓您三種願望一次滿足。

課程效益:

  • 了解領域驅動設計之戰略、戰術設計以及實作DDD之設計模式。
  • 透過事件風暴,建立領域模型與通用語言。
  • 掌握《Clean Architecture》(中文版《整潔的軟體設計與架構》)這本書的重點,為日後深入學習奠定基礎。
  • 應用分層原則、相依性原則、跨層原則於自己的軟體開發專案中,讓你的系統更容易修改與擴充。
  • 透過實作練習結合理論與實務,徹底了解實作Clean Architecture所可能踩到的各種「雷」。
  • 實作練習搭配事件風暴與測試驅動開發方法,讓實作Clean Architecture的活動更家簡單且有價值。
  • 結合DDD + Clean Architecture + TDD,三種願望一次滿足。

課程內容:

領域驅動設計所提出的領域模型通用語言概念,在分析階段搭配事件風暴工作坊,可以打破組織部門的穀倉效應,串起跨部門的商業價值鏈。在實作階段,套用簡潔架構,採用測試驅動開發方法,將通用語言直接表達在程式碼之中,將可大幅簡化軟體開發、部屬與維護的成本

本課程涵蓋Eric Evans的《Domain-Driven Design: Tacking Complexity in the Heart of Software》、Alberto Brandolini的《Introducing EventStorming - An act of deliberate collective learning》以及Bob大叔的《Clean Architecture》等書之核心內容。課程以實作看板系統為例子,套用事件風暴方法,建立應用程式的領域物件模型 (domain model)與通用語言 (ubiquitous language)。最後,我們套用簡潔架構並採用測試驅動開發的方式,逐一實作看板系統的主要功能。

 

課程大綱。

  • 領域驅動設計介紹。
    • 戰略模式。
    • 戰術模式。
  • 事件風暴工作坊(Event Storming Workshop)
  • 軟體架構的定義與目的。
  • 整潔架構三原則:
    • 首部曲:分層原則。
    • 二部曲:相依性原則。
    • 三部曲:跨層原則。
  • 實作練習:
    • 實例化規格(Specification by Example) 
    • 測試驅動開發
    • 撰寫程式碼
    • 尋找重構機會
    • 迭代與增量完成基礎功能
  • 回顧與討論。

***

課程效益

  • 徹底了解領域驅動設計的真意。
  • 利用實作看板系統練習,同時串起領域域驅動設計(Domain-Driven Design;DDD)、Clean Architecture、測試驅動開發(Test-Driven Development;TDD)三種技術。
  • 建立物件導向領域模型與共通語言。
  • 快速掌握《Clean Architecture》(中文版《整潔的軟體設計與架構》)這本書的重點,讓別人誤以為你已經看完了整本書  為日後深入學習奠定基礎。
  • 應用分層原則、相依性原則、跨層原則於自己的軟體開發專案中。

專業師資陳建村 (Teddy Chen)

  • 泰迪軟體創辦人,從事敏捷開發顧問、教育訓練、軟體工具導入等服務。
  • 台北科技大學機電科技研究所(資訊組)博士班畢業,有二十年以上軟體開發經驗。
    曾擔任程式設計師、技術總監、敏捷專案經理、軟體架構師、敏捷顧問、敏捷課程講師。
  • Teddy從2001年接觸與實踐敏捷方法XP,在2008年開始帶領他的第一個Scrum團隊。2012年成立泰迪軟體,擔任不同產業的敏捷教練,顧問與培訓課程講師至今。
    Teddy同時也在北科大資工所擔任兼任助理教授,講授「敏捷與精實軟體開發」以及「軟體架構」。
  • 2012年6月出版暢銷書「笑談軟體工程:敏捷方法的逆襲」,獲iThome週刊推薦為2012年iT人必看好書。
    2014年5月,出版「笑談軟體工程:例外處理設計的逆襲」。
  • 2007年起,Teddy經營部落格「搞笑談軟工」至今,閱讀人次破三百萬。內容涵蓋軟體工程、敏捷開發方法、設計模式、軟體測試與重構、例外處理等內容。

 

相關文章閱讀:

 

常見問題:

Q:請問參加這個課程需要有什麼能力嗎?

A:物件導向技術、設計模式,以及軟體開發經驗與程式轉寫能力,懂基礎的xUnit單元測試案例撰寫更佳。

 

Q: 請問這門課的上課方式為何?

A:包含理論講解、事件風暴工作坊與程式開發練習,理論與實務兼顧。

 

Q: 實作練習採用何種語言?

A:課程以Java語言為主,提供Java版本範例。學員可以選擇自己熟悉的程式語言進行實作練習。

 

課程資訊


台北平假日班:2021年1月15、16、17日(五、六、日)

時間:09:30~16:30,共十八小時
地點:近台北火車站

費用

原價:$36,000元
早鳥優惠: NT$29,900/人,2020年12月12日前報名並完成繳費。
泰迪之友票:$29,000 元
2人團報,$28,900 元/人
費用已包含:發票、教材、午餐、茶水。

本課程已結業梯次:

  • 2018年9月4日。
  • 2018年10月20日。
  • 2019年4月19、20日 (五、六)。
  • 2019年7月6、7、13日 (六、日、六)。
  • 2020年2月14、15、16日 (五、六、日)。
  • 2020年7月3、4、5日 (五、六、日)。

2021年最新開課班次:

  • 2021年1月15、16、17日 (五、六、日)。

注意事項

  • 報名方式:先填寫線上報名表,確認開課後將收到匯款通知,再行繳費即完成報名。
  • 主辦單位將於開課日三天前以e-mail寄發上課通知,若未收到通知者請來電確認。
  • 已完成繳費學員若因故無法上課,在開班日前一日申請退費者,退還已繳學費全額。開班日當天到課程進行1/3申請退費者,退還已繳學費四成。課程進行超過1/3之後無法上課將不予退費。 未達開班人數則延期或全額退費。
  • 開課單位保留是否接受報名之權力。如遇天災或其他不可抗拒因素導致原訂日期無法開課,開課單位保留修訂日期權利。