身在軟體業,不斷推陳出新的技術框架都快把我們給淹沒。 但我相信軟體的本質還是在於「解決業務問題」的能力。 隨著業務的發展以及程式碼的增長,了解既有程式碼的業務邏輯比學新技術更困難,更別提要加入新的功能進去。
框架可以幫助我們免去技術細節,但同時我們也需要一種設計方法將繁複的業務邏輯清楚地實現到程式碼之中,因此出現了領域驅動設計 (Domain-Driven Design) 。
在本系列小弟將會為各位介紹這套在國外風行的設計方法,希望大家能夠打破「程式歸程式、業務歸業務」的迷思,一起學習寫出更易懂、維護的程式碼吧! 同時也會搭配 Clean architecture, TDD, BDD 等方法一起開發!
- Strategic Design
- A simple intro - Thinking in Language
- Subdomains & Bounded Context
- Bounded Context More
- Context Mapping Patterns
- Event Storming
- Event Storming Contd.
- Architecture Design
- Layered & Onion/Clean Architecture
- Port-Adapter Architecture
- Communication with other Bounded Contect
- TDD and BDD w/ use case
- TDD and BDD example
- Tactical Design
- Entity
- Value Object
- Aggregate Design
- Factory
- Domain Event
- Application Service
- Repository
- Domain Service
- Hands-On Project
- Get started with TypeScript
- A simple project
- CQRS on project & examples
- Event Sourcing & examples
- Working with Legacy
- GETTING STARTED WITH DDD WHEN SURROUNDED BY LEGACY SYSTEMS
- How to introduce into your team?