SlideShare a Scribd company logo
DDD
DDD
2020/10 DDDTW Meetup
Eason Kuo
DDD
DDD
•
•
•
DDD
DDD
DDD
DDD
DDD
2003 Eric Evans Domain-Driven Design
DDD ?
- -
DDD
DDD ?
?
DDD -
Strategic Modeling
DDD
•
•
•
•
•
Strategic Modeling
•
DDD
(1) ( Domain Storytelling
- (
)
Strategic Modeling
(2) Event Storming
()
Strategic Modeling
Tactical Modeling
Tactical Modeling
1 0 69
ORM
Tactical Modeling
Tactical Modeling
A. (
C.
B. )
Reason
Tactical Modeling
A.
C.
B. ( )
1.
2. (Service)
Problem
Reason
3.
Tactical Modeling
A.
C.
B. ( )
1.
2. (Service)
Problem
Reason
3.
Tactical Modeling
Tactical Modeling
•
( )
• ( )
DDD
Tactical Modeling
•
•
•
•
•
•
•
•
•
•
•
Architecture
DDD
Tactical Modeling > (Architecture)
•
•
•
•
•
Tactical Modeling > (Architecture)
•
Tactical Modeling > (Architecture)
•
•
Tactical Modeling > (Architecture)
(Onion Architecture),
From 2008
• (
(Hexagonal Architecture),
From 2005
Clean Architecture),
From 2012
• (
Value Object
(Value Object)
Tactical Modeling > (Value Object)
?
Domain Driven Design - Tackling Complexity in the Heart of Software,
Eric Evans
(Value Object)
Tactical Modeling > (Value Object)
(Describe) (Measure)
Tactical Modeling > (Value Object)
(Describe) (Measure)
Tactical Modeling > (Value Object)
(Conceptual Whole)
•
•
•
•
•
Tactical Modeling > (Value Object)
(Conceptual Whole)
) (
Tactical Modeling > (Value Object)
) (
Tactical Modeling > (Value Object)
-
QA 100
-
Tactical Modeling > (Value Object)
-
-
-
Tactical Modeling > (Value Object)
= -
Tactical Modeling > (Value Object)
- =
Tactical Modeling > (Value Object)
•
•
-
Tactical Modeling > (Value Object)
-
-
Tactical Modeling > (Value Object)
-
Tactical Modeling > (Value Object)
Setter Method (immutable)
only getter
Tactical Modeling > (Value Object)
Tactical Modeling > (Value Object)
) Side-Effect Free
Tactical Modeling > (Value Object)
(
)
(
Side-Effect Free
Tactical Modeling > (Value Object)
(
) Method
Tactical Modeling > (Value Object)
•
•
•
•
(Entity)
Entity
(Entity) ?
Tactical Modeling > (Entity)
Domain Driven Design - Tackling Complexity in the Heart of Software,
Eric Evans
ID
Ticket number
Tactical Modeling > (Entity)
1 30
Tactical Modeling > (Entity)
(Entity)
1. ) (
3. ( (
Identity
2.
e.g.
Tactical Modeling > (Entity)
0 vs
1
Tactical Modeling > (Entity)
0 vs
1
Tactical Modeling > (Entity)
ID
Tactical Modeling > (Entity)
ID
•
Tactical Modeling > (Entity)
ID(int, string …)
•
•
•
•
• getter / setter
•
Tactical Modeling > (Entity)
•
Tactical Modeling > (Entity)
Table SchemaDomain Model
(Aggregate)
(Aggregate) ?
Tactical Modeling > (Aggregate)
Domain Driven Design - Tackling Complexity in the Heart of Software,
Eric Evans
(Aggregate) ?
Tactical Modeling > (Aggregate)
Tactical Modeling > (Aggregate)
Tactical Modeling > (Aggregate)
Tactical Modeling > (Aggregate)
PS:
Tactical Modeling > (Aggregate)
3
( ) 3 .
12 Bug .
1
Tactical Modeling > (Aggregate)
4 3
2 Bug 3
3 ) . (
Tactical Modeling > (Aggregate)
OrderItem
Update
Update Update
Tactical Modeling > (Aggregate)
Order 250
Tracy
Mary
Tactical Modeling > (Aggregate)
Tactical Modeling > (Aggregate)
Order 250
Tactical Modeling > (Aggregate)
Order ) 250 (
(Aggregate)
Tactical Modeling > (Aggregate)
•
(Aggregate)
Tactical Modeling > (Aggregate)
•
(Entity) (Value Object)
(Aggregate)
Tactical Modeling > (Aggregate)
•
(Aggregate) (
Tactical Modeling > (Aggregate)
• Business rule
) (
•
•
• 0
•
•
• x
(Aggregate)
Tactical Modeling > (Aggregate)
•
• (Transaction)
(Aggregate)
Tactical Modeling > (Aggregate)
• (Aggregate Root)
•
(Aggregate)
Tactical Modeling > (Aggregate)
• (Entity)
•
•
•
•
•
(Aggregate)
Tactical Modeling > (Aggregate)
• (Entity)
•
•
•
•
•
(Aggregate)
Tactical Modeling > (Aggregate)
•
•
(Aggregate)
Tactical Modeling > (Aggregate)
•
•
(Aggregate) ) (
Tactical Modeling > (Aggregate)
•
(Aggregate)
Tactical Modeling > (Aggregate)
(Aggregate)
Tactical Modeling > (Aggregate)
ID
(Factory)
(Factory) DDD
Tactical Modeling > (Factory)
•
Tactical Modeling > (Factory)
• Factory Method Abstract Factory Builder
•
•
Car altis = Car.StartToManufacture() v.s Car altis = Car.Create()
Client Factory Car
Aggregate Root
Create
manufacture
car
Tactical Modeling > (Factory)
•
•
•
•
Tactical Modeling > (Factory)
•
•
•
•
•
(Repository)
(Repository)
Tactical Modeling > (Repository)
• CRUD
•
•
• (1:1 1: N)
(Repository)
Tactical Modeling > (Repository)
DDD
(Repository) ?
Tactical Modeling > (Repository)
Domain Driven Design - Tackling Complexity in the Heart of Software,
Eric Evans
DDD (Repository)
Tactical Modeling > (Repository)
•
•
•
• CRUD
Tactical Modeling > (Repository)
• (1:1 1: N) ?
• E.g : Order, OrderItem OrderRepository OrderItemRepository
• Order OrderItem
• OrderItem Order
• OrderItem Order
Tactical Modeling > (Repository)
•
•
• (1:1 1: N) ?
• E.g : Order, OrderItem OrderRepository OrderItemRepository
• Order OrderItem
• OrderItem Order
• OrderItem Order
Tactical Modeling > (Repository)
• client
Insert Update Delete Query
Client
Tactical Modeling > (Repository)
•
• txt
•
Tactical Modeling > (Repository)
•
• Application Service
• Session Unit Of Work Commit
(Domain Service)
Tactical Modeling > (Domain Service)
•
A B
A Account B Account
•
Tactical Modeling > (Domain Service)
•
A B
A Account B Account N’s Order Record
• .
(Domain Service)
Tactical Modeling > (Domain Service)
•
•
•
•
•
•
•
(Domain Service)
Tactical Modeling > (Domain Service)
•
•
•
•
•
•
(Domain Service)
Tactical Modeling > (Domain Service)
• ( Bounded Context
• )
(Application Service)
(Application Service)
Tactical Modeling > (Application Service)
• Client Use Case)
•
• Client Input Output
•
•
•
• (
(Application Service)
Tactical Modeling > (Application Service)
•
•
Tactical Modeling > (Application Service)
(Domain Event)
(Domain Event)
Tactical Modeling > (Domain Event)
Domain-Driven Design Reference - Definitions and Pattern Summaries,
Eric Evans
(Domain Event)
Tactical Modeling > (Domain Event)
•
•
• Order Created
•
(Create Order) (Order Created)
(Domain Event) ?
Tactical Modeling > (Domain Event)
•
•
•
•
•
•
(Domain Event) ?
Tactical Modeling > (Domain Event)
•
•
•
•
•
•
•
(Domain Event)
Tactical Modeling > (Domain Event)
•
•
•
(Domain Event)
Tactical Modeling > (Domain Event)
• (immutable)
.
•
(primitive value)
• metadata
•
ID
(Domain Event)
- Tactical Modeling > (Domain Event)
•
•
(Module)
(Module)
Tactical Modeling > (Module)
•
. (Module)
Tactical Modeling > (Module)
• ) . .
•
• ) (
• .
•
app, controller, model, db, service
DDD (Module)
Tactical Modeling > (Module)
•
•
• (CCP)
•
•
DDD (Module) (1)
Tactical Modeling > (Module)
1.
2.
•
• Bounded Context
•
DDD (Module) (2)
Tactical Modeling > (Module)
3. domain
• models
• services
• repositories
• factories
4. models
• events
• exceptions
Take Away
Tactical Modeling > Take Away
• DDD
• DDD pattern language
•
• DDD
•
DDD 拼圖中的另一半 – 以戰術實踐代碼

More Related Content

What's hot

UN CEFACT Business Requirements Specification Cross Industry Invoicing Process
UN CEFACT Business Requirements Specification Cross Industry Invoicing ProcessUN CEFACT Business Requirements Specification Cross Industry Invoicing Process
UN CEFACT Business Requirements Specification Cross Industry Invoicing Process
Friso de Jong
 
IAO-Intel: An Ontology of Information Artifacts in the Intelligence Domain
IAO-Intel: An Ontology of Information Artifacts in the Intelligence DomainIAO-Intel: An Ontology of Information Artifacts in the Intelligence Domain
IAO-Intel: An Ontology of Information Artifacts in the Intelligence Domain
Barry Smith
 
Trunk-Based Development
Trunk-Based DevelopmentTrunk-Based Development
Trunk-Based Development
Bryan Liu
 
[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스
철민 신
 
BPMN 2.0
BPMN 2.0BPMN 2.0
Problem-Solving & Decision-Making (Chinese中文)
Problem-Solving & Decision-Making (Chinese中文)Problem-Solving & Decision-Making (Chinese中文)
Problem-Solving & Decision-Making (Chinese中文)
Joe Sheu
 
Test link
Test linkTest link
Test link
Plácido Segundo
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808
slovejoy
 
Understanding Branching and Merging in Git
Understanding Branching and Merging in GitUnderstanding Branching and Merging in Git
Understanding Branching and Merging in Git
gittower
 
When DITA meets Markdown | Alex Jitinau
When DITA meets Markdown | Alex JitinauWhen DITA meets Markdown | Alex Jitinau
When DITA meets Markdown | Alex Jitinau
LavaConConference
 
Source control
Source controlSource control
Source control
Sachithra Gayan
 
Template quality management-plan2
Template quality management-plan2Template quality management-plan2
Template quality management-plan2
I C
 
أوراق عمل الفقه 2م ف1
أوراق عمل الفقه 2م ف1أوراق عمل الفقه 2م ف1
أوراق عمل الفقه 2م ف1omrakan
 
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
William Yeh
 
Git101
Git101Git101
Git101
Jason Noble
 
事件風暴-領域建模
事件風暴-領域建模事件風暴-領域建模
事件風暴-領域建模
國昭 張
 
Dcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designDcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designIsaac Chiang
 
104.7.16魚骨圖介紹簡報
104.7.16魚骨圖介紹簡報104.7.16魚骨圖介紹簡報
104.7.16魚骨圖介紹簡報
a05100126
 
Writing good requirements
Writing good requirementsWriting good requirements
Writing good requirements
Manish Chaurasia
 

What's hot (20)

UN CEFACT Business Requirements Specification Cross Industry Invoicing Process
UN CEFACT Business Requirements Specification Cross Industry Invoicing ProcessUN CEFACT Business Requirements Specification Cross Industry Invoicing Process
UN CEFACT Business Requirements Specification Cross Industry Invoicing Process
 
IAO-Intel: An Ontology of Information Artifacts in the Intelligence Domain
IAO-Intel: An Ontology of Information Artifacts in the Intelligence DomainIAO-Intel: An Ontology of Information Artifacts in the Intelligence Domain
IAO-Intel: An Ontology of Information Artifacts in the Intelligence Domain
 
Trunk-Based Development
Trunk-Based DevelopmentTrunk-Based Development
Trunk-Based Development
 
[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스
 
BPMN 2.0
BPMN 2.0BPMN 2.0
BPMN 2.0
 
Problem-Solving & Decision-Making (Chinese中文)
Problem-Solving & Decision-Making (Chinese中文)Problem-Solving & Decision-Making (Chinese中文)
Problem-Solving & Decision-Making (Chinese中文)
 
Test link
Test linkTest link
Test link
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808
 
Understanding Branching and Merging in Git
Understanding Branching and Merging in GitUnderstanding Branching and Merging in Git
Understanding Branching and Merging in Git
 
When DITA meets Markdown | Alex Jitinau
When DITA meets Markdown | Alex JitinauWhen DITA meets Markdown | Alex Jitinau
When DITA meets Markdown | Alex Jitinau
 
Source control
Source controlSource control
Source control
 
Template quality management-plan2
Template quality management-plan2Template quality management-plan2
Template quality management-plan2
 
أوراق عمل الفقه 2م ف1
أوراق عمل الفقه 2م ف1أوراق عمل الفقه 2م ف1
أوراق عمل الفقه 2م ف1
 
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
 
Database Testing
Database TestingDatabase Testing
Database Testing
 
Git101
Git101Git101
Git101
 
事件風暴-領域建模
事件風暴-領域建模事件風暴-領域建模
事件風暴-領域建模
 
Dcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designDcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-design
 
104.7.16魚骨圖介紹簡報
104.7.16魚骨圖介紹簡報104.7.16魚骨圖介紹簡報
104.7.16魚骨圖介紹簡報
 
Writing good requirements
Writing good requirementsWriting good requirements
Writing good requirements
 

Similar to DDD 拼圖中的另一半 – 以戰術實踐代碼

[2020 DDD TW Conference Workshop] Go Ahead DDD Tactical Modeling
[2020 DDD TW Conference Workshop] Go Ahead DDD Tactical Modeling[2020 DDD TW Conference Workshop] Go Ahead DDD Tactical Modeling
[2020 DDD TW Conference Workshop] Go Ahead DDD Tactical Modeling
Eason Kuo
 
Golang in TiDB (GopherChina 2017)
Golang in TiDB  (GopherChina 2017)Golang in TiDB  (GopherChina 2017)
Golang in TiDB (GopherChina 2017)
PingCAP
 
The internals of Spark SQL Joins, Dmytro Popovich
The internals of Spark SQL Joins, Dmytro PopovichThe internals of Spark SQL Joins, Dmytro Popovich
The internals of Spark SQL Joins, Dmytro Popovich
Sigma Software
 
System analyst and design
System analyst and designSystem analyst and design
System analyst and design
Chakrit Kulkaisri
 
Grill at bigdata-cloud conf
Grill at bigdata-cloud confGrill at bigdata-cloud conf
Grill at bigdata-cloud confamarsri
 
CM NCCU Class2
CM NCCU Class2CM NCCU Class2
CM NCCU Class2
志明 陳
 
Metaprogramming
MetaprogrammingMetaprogramming
Metaprogramming
Dmitri Nesteruk
 
Stream-based Data Synchronization
Stream-based Data SynchronizationStream-based Data Synchronization
Stream-based Data Synchronization
Klemen Verdnik
 
Embedded SW Interview Questions
Embedded SW Interview Questions Embedded SW Interview Questions
Embedded SW Interview Questions PiTechnologies
 
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDTEclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
Elena Laskavaia
 
從行動廣告大數據觀點談 Big data 20150916
從行動廣告大數據觀點談 Big data   20150916從行動廣告大數據觀點談 Big data   20150916
從行動廣告大數據觀點談 Big data 20150916
Craig Chao
 
Cross platform Mobile development on Titanium
Cross platform Mobile development on TitaniumCross platform Mobile development on Titanium
Cross platform Mobile development on Titanium
Yiguang Hu
 
Big datacourse
Big datacourseBig datacourse
Big datacourse
Massimiliano Ruocco
 
lecture1.ppt
lecture1.pptlecture1.ppt
lecture1.ppt
SagarDR5
 
C++ Notes PPT.ppt
C++ Notes PPT.pptC++ Notes PPT.ppt
C++ Notes PPT.ppt
Alpha474815
 
Migrating from eRoom to SharePoint, A Success Story (Valy Greavu)
Migrating from eRoom to SharePoint, A Success Story (Valy Greavu)Migrating from eRoom to SharePoint, A Success Story (Valy Greavu)
Migrating from eRoom to SharePoint, A Success Story (Valy Greavu)
ITCamp
 
Facility layout
Facility layoutFacility layout
Facility layout
Hilal Pv
 
Facility layout
Facility layoutFacility layout
Facility layout
Đán Lê
 

Similar to DDD 拼圖中的另一半 – 以戰術實踐代碼 (20)

[2020 DDD TW Conference Workshop] Go Ahead DDD Tactical Modeling
[2020 DDD TW Conference Workshop] Go Ahead DDD Tactical Modeling[2020 DDD TW Conference Workshop] Go Ahead DDD Tactical Modeling
[2020 DDD TW Conference Workshop] Go Ahead DDD Tactical Modeling
 
Golang in TiDB (GopherChina 2017)
Golang in TiDB  (GopherChina 2017)Golang in TiDB  (GopherChina 2017)
Golang in TiDB (GopherChina 2017)
 
The internals of Spark SQL Joins, Dmytro Popovich
The internals of Spark SQL Joins, Dmytro PopovichThe internals of Spark SQL Joins, Dmytro Popovich
The internals of Spark SQL Joins, Dmytro Popovich
 
หน่วยที่ 7
หน่วยที่ 7หน่วยที่ 7
หน่วยที่ 7
 
System analyst and design
System analyst and designSystem analyst and design
System analyst and design
 
Grill at bigdata-cloud conf
Grill at bigdata-cloud confGrill at bigdata-cloud conf
Grill at bigdata-cloud conf
 
CM NCCU Class2
CM NCCU Class2CM NCCU Class2
CM NCCU Class2
 
Metaprogramming
MetaprogrammingMetaprogramming
Metaprogramming
 
Stream-based Data Synchronization
Stream-based Data SynchronizationStream-based Data Synchronization
Stream-based Data Synchronization
 
Embedded SW Interview Questions
Embedded SW Interview Questions Embedded SW Interview Questions
Embedded SW Interview Questions
 
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDTEclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
 
從行動廣告大數據觀點談 Big data 20150916
從行動廣告大數據觀點談 Big data   20150916從行動廣告大數據觀點談 Big data   20150916
從行動廣告大數據觀點談 Big data 20150916
 
Cross platform Mobile development on Titanium
Cross platform Mobile development on TitaniumCross platform Mobile development on Titanium
Cross platform Mobile development on Titanium
 
Big datacourse
Big datacourseBig datacourse
Big datacourse
 
lecture1.ppt
lecture1.pptlecture1.ppt
lecture1.ppt
 
C++ Notes PPT.ppt
C++ Notes PPT.pptC++ Notes PPT.ppt
C++ Notes PPT.ppt
 
Migrating from eRoom to SharePoint, A Success Story (Valy Greavu)
Migrating from eRoom to SharePoint, A Success Story (Valy Greavu)Migrating from eRoom to SharePoint, A Success Story (Valy Greavu)
Migrating from eRoom to SharePoint, A Success Story (Valy Greavu)
 
Facility layout
Facility layoutFacility layout
Facility layout
 
Facility layout
Facility layoutFacility layout
Facility layout
 
Facility layout
Facility layoutFacility layout
Facility layout
 

More from Eason Kuo

Working effectively with legacy code study group - ch12,13,14
Working effectively with legacy code study group -  ch12,13,14Working effectively with legacy code study group -  ch12,13,14
Working effectively with legacy code study group - ch12,13,14
Eason Kuo
 
IDDD Ch.09 Module
IDDD Ch.09 ModuleIDDD Ch.09 Module
IDDD Ch.09 Module
Eason Kuo
 
IDDD Ch.08 Domain Event
IDDD Ch.08 Domain EventIDDD Ch.08 Domain Event
IDDD Ch.08 Domain Event
Eason Kuo
 
DDD Reading Club Sharing Ch. 6 Value Object
DDD Reading Club SharingCh. 6 Value ObjectDDD Reading Club SharingCh. 6 Value Object
DDD Reading Club Sharing Ch. 6 Value Object
Eason Kuo
 
2016 - What should we do in Startup
2016 - What should we do in Startup2016 - What should we do in Startup
2016 - What should we do in Startup
Eason Kuo
 
20140904 - ADRMS 介紹 - 企業文件版本權管理
20140904 - ADRMS 介紹 - 企業文件版本權管理20140904 - ADRMS 介紹 - 企業文件版本權管理
20140904 - ADRMS 介紹 - 企業文件版本權管理
Eason Kuo
 
第八屆微軟學生大使 - 第三階段面試簡報主題 - Kinect開發概觀
第八屆微軟學生大使 - 第三階段面試簡報主題 - Kinect開發概觀第八屆微軟學生大使 - 第三階段面試簡報主題 - Kinect開發概觀
第八屆微軟學生大使 - 第三階段面試簡報主題 - Kinect開發概觀
Eason Kuo
 
2012/05/07 - Kinect Senor Development Introduction
2012/05/07 - Kinect Senor Development Introduction2012/05/07 - Kinect Senor Development Introduction
2012/05/07 - Kinect Senor Development Introduction
Eason Kuo
 
Windows 8 介紹與 Windows 8 App 開發概觀
Windows 8 介紹與 Windows 8 App 開發概觀Windows 8 介紹與 Windows 8 App 開發概觀
Windows 8 介紹與 Windows 8 App 開發概觀
Eason Kuo
 
分享擔任第八屆微軟學生大使的過程與經驗
分享擔任第八屆微軟學生大使的過程與經驗分享擔任第八屆微軟學生大使的過程與經驗
分享擔任第八屆微軟學生大使的過程與經驗
Eason Kuo
 
招募第九屆微軟學生大使 - 第三階段的專案競賽規則
招募第九屆微軟學生大使 - 第三階段的專案競賽規則招募第九屆微軟學生大使 - 第三階段的專案競賽規則
招募第九屆微軟學生大使 - 第三階段的專案競賽規則
Eason Kuo
 
Windows Phone 7 on Visual Studio 2010
Windows Phone 7 on Visual Studio 2010Windows Phone 7 on Visual Studio 2010
Windows Phone 7 on Visual Studio 2010
Eason Kuo
 
Windows Phone Survey on Game Development
Windows Phone Survey on Game DevelopmentWindows Phone Survey on Game Development
Windows Phone Survey on Game Development
Eason Kuo
 
Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps
Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps
Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps
Eason Kuo
 
視界 - 微客志工師大Wake分享會
視界 -  微客志工師大Wake分享會視界 -  微客志工師大Wake分享會
視界 - 微客志工師大Wake分享會
Eason Kuo
 
微客志工 - 533T 菲去cebu 熱血服霧
微客志工 - 533T 菲去cebu 熱血服霧微客志工 - 533T 菲去cebu 熱血服霧
微客志工 - 533T 菲去cebu 熱血服霧
Eason Kuo
 

More from Eason Kuo (16)

Working effectively with legacy code study group - ch12,13,14
Working effectively with legacy code study group -  ch12,13,14Working effectively with legacy code study group -  ch12,13,14
Working effectively with legacy code study group - ch12,13,14
 
IDDD Ch.09 Module
IDDD Ch.09 ModuleIDDD Ch.09 Module
IDDD Ch.09 Module
 
IDDD Ch.08 Domain Event
IDDD Ch.08 Domain EventIDDD Ch.08 Domain Event
IDDD Ch.08 Domain Event
 
DDD Reading Club Sharing Ch. 6 Value Object
DDD Reading Club SharingCh. 6 Value ObjectDDD Reading Club SharingCh. 6 Value Object
DDD Reading Club Sharing Ch. 6 Value Object
 
2016 - What should we do in Startup
2016 - What should we do in Startup2016 - What should we do in Startup
2016 - What should we do in Startup
 
20140904 - ADRMS 介紹 - 企業文件版本權管理
20140904 - ADRMS 介紹 - 企業文件版本權管理20140904 - ADRMS 介紹 - 企業文件版本權管理
20140904 - ADRMS 介紹 - 企業文件版本權管理
 
第八屆微軟學生大使 - 第三階段面試簡報主題 - Kinect開發概觀
第八屆微軟學生大使 - 第三階段面試簡報主題 - Kinect開發概觀第八屆微軟學生大使 - 第三階段面試簡報主題 - Kinect開發概觀
第八屆微軟學生大使 - 第三階段面試簡報主題 - Kinect開發概觀
 
2012/05/07 - Kinect Senor Development Introduction
2012/05/07 - Kinect Senor Development Introduction2012/05/07 - Kinect Senor Development Introduction
2012/05/07 - Kinect Senor Development Introduction
 
Windows 8 介紹與 Windows 8 App 開發概觀
Windows 8 介紹與 Windows 8 App 開發概觀Windows 8 介紹與 Windows 8 App 開發概觀
Windows 8 介紹與 Windows 8 App 開發概觀
 
分享擔任第八屆微軟學生大使的過程與經驗
分享擔任第八屆微軟學生大使的過程與經驗分享擔任第八屆微軟學生大使的過程與經驗
分享擔任第八屆微軟學生大使的過程與經驗
 
招募第九屆微軟學生大使 - 第三階段的專案競賽規則
招募第九屆微軟學生大使 - 第三階段的專案競賽規則招募第九屆微軟學生大使 - 第三階段的專案競賽規則
招募第九屆微軟學生大使 - 第三階段的專案競賽規則
 
Windows Phone 7 on Visual Studio 2010
Windows Phone 7 on Visual Studio 2010Windows Phone 7 on Visual Studio 2010
Windows Phone 7 on Visual Studio 2010
 
Windows Phone Survey on Game Development
Windows Phone Survey on Game DevelopmentWindows Phone Survey on Game Development
Windows Phone Survey on Game Development
 
Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps
Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps
Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps
 
視界 - 微客志工師大Wake分享會
視界 -  微客志工師大Wake分享會視界 -  微客志工師大Wake分享會
視界 - 微客志工師大Wake分享會
 
微客志工 - 533T 菲去cebu 熱血服霧
微客志工 - 533T 菲去cebu 熱血服霧微客志工 - 533T 菲去cebu 熱血服霧
微客志工 - 533T 菲去cebu 熱血服霧
 

Recently uploaded

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 

Recently uploaded (20)

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 

DDD 拼圖中的另一半 – 以戰術實踐代碼