SlideShare ist ein Scribd-Unternehmen logo
1 von 97
Downloaden Sie, um offline zu lesen
QRCode
1
DDD with Clean Architecture
0 1
2
?
3
,
4
?
5
6
7
…
PM
?
8
,
,
,
||
9
“The goal of software architecture is to minimize
the human resources required to build and
maintain the required system.”
Robert C. Martin – Clean Architecture
minimize
10
11
12
?
,
?
!
13
14
-
15
+:
-:
16
1st.
2st.
3st.
17
-
18
1st.
2st.
3st.
1st.
2st.
3st.
1st.
2st.
3st.
1st.
2st.
3st.
1st.
2st.
3st.
1st.
2st.
3st.
19
20
…
21
…
22
?
23
24
?
!
!
DDD !
25
•
•
•
26
?
27
28
,
29
?
30
….
31
(Inverse of Control)
32
33
34
35
Vision Planning Strategy Doing Teamwork Consistency Success
/
36
-
37
?
38
-
39
?
40
-
41
?
42
-
43
?
44
45
?
46
47
Component +
Layer +
• : Component
• : Layer
48
-
49
50
-
51
,
52
Coding , !
53
54
-
55
- :
56
- &
57
58
59
SOLID DRY
60
SOLID
61
DRY ?
62
DRY
“Every piece of knowledge must have a single,
unambiguous, authoritative representation
within a system”
Andy Hunt – The Pragmatic Programmer
63
DRY Code …
64
DRY - &
,
65
66
I/O,
,
67
Clean
Domain Model
68
-
69
, =0
70
Clean Architecture
(Entities)
71
?
Capture
Embedded
Protect
Capture:
Embedded:
Protect:
72
(Capture)- (1)
• (Aircraft) (Departure), (Destination)
• ,
73
(Capture)- (2)
• (Route)
• (Departure)
74
(Capture)- (3)
• , (Fix)
• 3 (3DPoint)
75
(Capture)- (4)
• , 2D (2DPoint)
76
DDD Aggregate
77
,
, - ,
! ?
78
79
(Business Rule)
,
80
81
- Clean Architecture
82
?
83
- Port and Adapter
84
DDD
85
86
-Use Case
87
Clean Architecture
88
(Core Subdomain)
(Supporting Subdomain)
(Supporting Subdomain)
(General Subdomain)
(Problem Domain)
Clean Architecture +
DDD?
89
90
91
(Pattern)
An architectural pattern is a general, reusable solution to a commonly occurring problem in
software architecture within a given context. Architectural patterns are often documented as
software design patterns.
Following traditional building architecture, a ‘software architectural style’ is a specific method
of construction, characterized by the features that make it notable
-- by Wiki
92
(Style)
An architectural style defines: a family of systems in terms of a pattern of structural
organization; a vocabulary of components and connectors, with constraints on
how they can be combined.
Architectural styles are reusable ‘packages’ of design decisions and constraints that are applied
to an architecture to induce chosen desirable qualities.
-- by Wiki
93
94
Name
ContextProblem
Solution Force
Resulting
Context
95
Recap
•
•
•
• ,
• : (CEP)
Capture + Embedded + Protect
•
• /
96
,
97

Weitere ähnliche Inhalte

Ähnlich wie Ddd(meetup 2) ddd with clean architecture

Makassar engineering computer course
Makassar engineering computer course Makassar engineering computer course
Makassar engineering computer course supriyantoedi
 
Clean architecture: Android
Clean architecture: AndroidClean architecture: Android
Clean architecture: Androidintive
 
RDataMining slides-r-programming
RDataMining slides-r-programmingRDataMining slides-r-programming
RDataMining slides-r-programmingYanchang Zhao
 
Kendari engineering computer course
Kendari engineering computer course Kendari engineering computer course
Kendari engineering computer course supriyantoedi
 
Banjarmasin engineering computer course
Banjarmasin engineering computer course Banjarmasin engineering computer course
Banjarmasin engineering computer course supriyantoedi
 
COMPUTER AIDED DESIGN - CAD
COMPUTER AIDED DESIGN - CADCOMPUTER AIDED DESIGN - CAD
COMPUTER AIDED DESIGN - CADNina Donard
 
TechTalk - Introduction to software design and architecture
TechTalk - Introduction to software design and architectureTechTalk - Introduction to software design and architecture
TechTalk - Introduction to software design and architectureKonstantin Zakharov
 
Overcoming Issues of 3D Software Visualization through Immersive Augmented Re...
Overcoming Issues of 3D Software Visualization through Immersive Augmented Re...Overcoming Issues of 3D Software Visualization through Immersive Augmented Re...
Overcoming Issues of 3D Software Visualization through Immersive Augmented Re...Leonel Merino
 
Better Software Developers
Better Software DevelopersBetter Software Developers
Better Software DevelopersGiordano Scalzo
 

Ähnlich wie Ddd(meetup 2) ddd with clean architecture (10)

Makassar engineering computer course
Makassar engineering computer course Makassar engineering computer course
Makassar engineering computer course
 
Clean architecture: Android
Clean architecture: AndroidClean architecture: Android
Clean architecture: Android
 
RDataMining slides-r-programming
RDataMining slides-r-programmingRDataMining slides-r-programming
RDataMining slides-r-programming
 
Applications3d Geomagic
Applications3d GeomagicApplications3d Geomagic
Applications3d Geomagic
 
Kendari engineering computer course
Kendari engineering computer course Kendari engineering computer course
Kendari engineering computer course
 
Banjarmasin engineering computer course
Banjarmasin engineering computer course Banjarmasin engineering computer course
Banjarmasin engineering computer course
 
COMPUTER AIDED DESIGN - CAD
COMPUTER AIDED DESIGN - CADCOMPUTER AIDED DESIGN - CAD
COMPUTER AIDED DESIGN - CAD
 
TechTalk - Introduction to software design and architecture
TechTalk - Introduction to software design and architectureTechTalk - Introduction to software design and architecture
TechTalk - Introduction to software design and architecture
 
Overcoming Issues of 3D Software Visualization through Immersive Augmented Re...
Overcoming Issues of 3D Software Visualization through Immersive Augmented Re...Overcoming Issues of 3D Software Visualization through Immersive Augmented Re...
Overcoming Issues of 3D Software Visualization through Immersive Augmented Re...
 
Better Software Developers
Better Software DevelopersBetter Software Developers
Better Software Developers
 

Mehr von Kim Kao

Enlarge influence by Participating in communities
Enlarge influence by Participating in communitiesEnlarge influence by Participating in communities
Enlarge influence by Participating in communitiesKim Kao
 
2019 08-01-i ddd-studygroup-appendix
2019 08-01-i ddd-studygroup-appendix2019 08-01-i ddd-studygroup-appendix
2019 08-01-i ddd-studygroup-appendixKim Kao
 
跟著Actor Model來一場與DDD的豔遇
跟著Actor Model來一場與DDD的豔遇跟著Actor Model來一場與DDD的豔遇
跟著Actor Model來一場與DDD的豔遇Kim Kao
 
2019 06-12-aws taipei summit-dev day-essential capabilities behind microservices
2019 06-12-aws taipei summit-dev day-essential capabilities behind microservices2019 06-12-aws taipei summit-dev day-essential capabilities behind microservices
2019 06-12-aws taipei summit-dev day-essential capabilities behind microservicesKim Kao
 
Ddd by-clark chou
Ddd by-clark chouDdd by-clark chou
Ddd by-clark chouKim Kao
 
My past-3 yeas-developer-journey-at-linkedin-by-iantsai
My past-3 yeas-developer-journey-at-linkedin-by-iantsaiMy past-3 yeas-developer-journey-at-linkedin-by-iantsai
My past-3 yeas-developer-journey-at-linkedin-by-iantsaiKim Kao
 
2019 04-25-agile communitymeetup-essentialcapabilitiesbehindmicroservices
2019 04-25-agile communitymeetup-essentialcapabilitiesbehindmicroservices2019 04-25-agile communitymeetup-essentialcapabilitiesbehindmicroservices
2019 04-25-agile communitymeetup-essentialcapabilitiesbehindmicroservicesKim Kao
 
2019 03-23-2nd-meetup-essential capabilities behind microservices
2019 03-23-2nd-meetup-essential capabilities behind microservices2019 03-23-2nd-meetup-essential capabilities behind microservices
2019 03-23-2nd-meetup-essential capabilities behind microservicesKim Kao
 
2019 03-13-implementing microservices by ddd
2019 03-13-implementing microservices by ddd2019 03-13-implementing microservices by ddd
2019 03-13-implementing microservices by dddKim Kao
 
2019-02-20-ddd taiwan-community-iddd-studygroup-1st
2019-02-20-ddd taiwan-community-iddd-studygroup-1st2019-02-20-ddd taiwan-community-iddd-studygroup-1st
2019-02-20-ddd taiwan-community-iddd-studygroup-1stKim Kao
 
DDD Taiwan Community 2019 01-26-1st-meetup-why ddd matters
DDD Taiwan Community 2019 01-26-1st-meetup-why ddd mattersDDD Taiwan Community 2019 01-26-1st-meetup-why ddd matters
DDD Taiwan Community 2019 01-26-1st-meetup-why ddd mattersKim Kao
 
2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverless
2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverless2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverless
2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverlessKim Kao
 
Legacy java ee meet lambda
Legacy java ee  meet lambdaLegacy java ee  meet lambda
Legacy java ee meet lambdaKim Kao
 

Mehr von Kim Kao (13)

Enlarge influence by Participating in communities
Enlarge influence by Participating in communitiesEnlarge influence by Participating in communities
Enlarge influence by Participating in communities
 
2019 08-01-i ddd-studygroup-appendix
2019 08-01-i ddd-studygroup-appendix2019 08-01-i ddd-studygroup-appendix
2019 08-01-i ddd-studygroup-appendix
 
跟著Actor Model來一場與DDD的豔遇
跟著Actor Model來一場與DDD的豔遇跟著Actor Model來一場與DDD的豔遇
跟著Actor Model來一場與DDD的豔遇
 
2019 06-12-aws taipei summit-dev day-essential capabilities behind microservices
2019 06-12-aws taipei summit-dev day-essential capabilities behind microservices2019 06-12-aws taipei summit-dev day-essential capabilities behind microservices
2019 06-12-aws taipei summit-dev day-essential capabilities behind microservices
 
Ddd by-clark chou
Ddd by-clark chouDdd by-clark chou
Ddd by-clark chou
 
My past-3 yeas-developer-journey-at-linkedin-by-iantsai
My past-3 yeas-developer-journey-at-linkedin-by-iantsaiMy past-3 yeas-developer-journey-at-linkedin-by-iantsai
My past-3 yeas-developer-journey-at-linkedin-by-iantsai
 
2019 04-25-agile communitymeetup-essentialcapabilitiesbehindmicroservices
2019 04-25-agile communitymeetup-essentialcapabilitiesbehindmicroservices2019 04-25-agile communitymeetup-essentialcapabilitiesbehindmicroservices
2019 04-25-agile communitymeetup-essentialcapabilitiesbehindmicroservices
 
2019 03-23-2nd-meetup-essential capabilities behind microservices
2019 03-23-2nd-meetup-essential capabilities behind microservices2019 03-23-2nd-meetup-essential capabilities behind microservices
2019 03-23-2nd-meetup-essential capabilities behind microservices
 
2019 03-13-implementing microservices by ddd
2019 03-13-implementing microservices by ddd2019 03-13-implementing microservices by ddd
2019 03-13-implementing microservices by ddd
 
2019-02-20-ddd taiwan-community-iddd-studygroup-1st
2019-02-20-ddd taiwan-community-iddd-studygroup-1st2019-02-20-ddd taiwan-community-iddd-studygroup-1st
2019-02-20-ddd taiwan-community-iddd-studygroup-1st
 
DDD Taiwan Community 2019 01-26-1st-meetup-why ddd matters
DDD Taiwan Community 2019 01-26-1st-meetup-why ddd mattersDDD Taiwan Community 2019 01-26-1st-meetup-why ddd matters
DDD Taiwan Community 2019 01-26-1st-meetup-why ddd matters
 
2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverless
2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverless2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverless
2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverless
 
Legacy java ee meet lambda
Legacy java ee  meet lambdaLegacy java ee  meet lambda
Legacy java ee meet lambda
 

Kürzlich hochgeladen

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Kürzlich hochgeladen (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

Ddd(meetup 2) ddd with clean architecture