SlideShare une entreprise Scribd logo
1  sur  128
Télécharger pour lire hors ligne
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 拼圖中的另一半 – 以戰術實踐代碼

Contenu connexe

Tendances

ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門増田 亨
 
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8Koichiro Matsuoka
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する増田 亨
 
OpenStreetMap 기반의 Mapbox 오픈소스 매핑 서비스
OpenStreetMap 기반의 Mapbox 오픈소스 매핑 서비스OpenStreetMap 기반의 Mapbox 오픈소스 매핑 서비스
OpenStreetMap 기반의 Mapbox 오픈소스 매핑 서비스Kyu-sung Choi
 
ERP 프로젝트 수행방법론-SAP_v1.2.pptx
ERP 프로젝트 수행방법론-SAP_v1.2.pptxERP 프로젝트 수행방법론-SAP_v1.2.pptx
ERP 프로젝트 수행방법론-SAP_v1.2.pptxSeong-Bok Lee
 
Jetpack datastore入門
Jetpack datastore入門Jetpack datastore入門
Jetpack datastore入門furusin
 
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」 DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」 Koichiro Matsuoka
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...Amazon Web Services Japan
 
스타트업처럼 토이프로젝트하기
스타트업처럼 토이프로젝트하기스타트업처럼 토이프로젝트하기
스타트업처럼 토이프로젝트하기Sunyoung Shin
 
ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てるちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる増田 亨
 
[수정본] 우아한 객체지향
[수정본] 우아한 객체지향[수정본] 우아한 객체지향
[수정본] 우아한 객체지향Young-Ho Cho
 
敏捷高峰會-邊開火邊修正 - 最小產品可以如何嘗試.pdf
敏捷高峰會-邊開火邊修正 - 最小產品可以如何嘗試.pdf敏捷高峰會-邊開火邊修正 - 最小產品可以如何嘗試.pdf
敏捷高峰會-邊開火邊修正 - 最小產品可以如何嘗試.pdfVincent Lee
 
쉽게 풀어보는 WebGL
쉽게 풀어보는 WebGL쉽게 풀어보는 WebGL
쉽게 풀어보는 WebGLMyung Woon Oh
 
Using Apache Spark and MySQL for Data Analysis
Using Apache Spark and MySQL for Data AnalysisUsing Apache Spark and MySQL for Data Analysis
Using Apache Spark and MySQL for Data AnalysisSveta Smirnova
 
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDDドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD増田 亨
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門Takuya Kitamura
 
DI(依存性注入)について
DI(依存性注入)についてDI(依存性注入)について
DI(依存性注入)についてYui Ito
 
Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄현 수
 

Tendances (20)

Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
 
OpenStreetMap 기반의 Mapbox 오픈소스 매핑 서비스
OpenStreetMap 기반의 Mapbox 오픈소스 매핑 서비스OpenStreetMap 기반의 Mapbox 오픈소스 매핑 서비스
OpenStreetMap 기반의 Mapbox 오픈소스 매핑 서비스
 
ERP 프로젝트 수행방법론-SAP_v1.2.pptx
ERP 프로젝트 수행방법론-SAP_v1.2.pptxERP 프로젝트 수행방법론-SAP_v1.2.pptx
ERP 프로젝트 수행방법론-SAP_v1.2.pptx
 
Jetpack datastore入門
Jetpack datastore入門Jetpack datastore入門
Jetpack datastore入門
 
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」 DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
 
스타트업처럼 토이프로젝트하기
스타트업처럼 토이프로젝트하기스타트업처럼 토이프로젝트하기
스타트업처럼 토이프로젝트하기
 
ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てるちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる
 
[수정본] 우아한 객체지향
[수정본] 우아한 객체지향[수정본] 우아한 객체지향
[수정본] 우아한 객체지향
 
敏捷高峰會-邊開火邊修正 - 最小產品可以如何嘗試.pdf
敏捷高峰會-邊開火邊修正 - 最小產品可以如何嘗試.pdf敏捷高峰會-邊開火邊修正 - 最小產品可以如何嘗試.pdf
敏捷高峰會-邊開火邊修正 - 最小產品可以如何嘗試.pdf
 
쉽게 풀어보는 WebGL
쉽게 풀어보는 WebGL쉽게 풀어보는 WebGL
쉽게 풀어보는 WebGL
 
Using Apache Spark and MySQL for Data Analysis
Using Apache Spark and MySQL for Data AnalysisUsing Apache Spark and MySQL for Data Analysis
Using Apache Spark and MySQL for Data Analysis
 
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDDドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
DI(依存性注入)について
DI(依存性注入)についてDI(依存性注入)について
DI(依存性注入)について
 
Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄
 
JIRAを使ったフツウのPJ実践
JIRAを使ったフツウのPJ実践JIRAを使ったフツウのPJ実践
JIRAを使ったフツウのPJ実践
 

Similaire à 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 ModelingEason 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 PopovichSigma Software
 
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志明 陳
 
Stream-based Data Synchronization
Stream-based Data SynchronizationStream-based Data Synchronization
Stream-based Data SynchronizationKlemen 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 CDTElena Laskavaia
 
從行動廣告大數據觀點談 Big data 20150916
從行動廣告大數據觀點談 Big data   20150916從行動廣告大數據觀點談 Big data   20150916
從行動廣告大數據觀點談 Big data 20150916Craig Chao
 
Cross platform Mobile development on Titanium
Cross platform Mobile development on TitaniumCross platform Mobile development on Titanium
Cross platform Mobile development on TitaniumYiguang Hu
 
C++ Notes PPT.ppt
C++ Notes PPT.pptC++ Notes PPT.ppt
C++ Notes PPT.pptAlpha474815
 
lecture1.ppt
lecture1.pptlecture1.ppt
lecture1.pptSagarDR5
 
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 layoutHilal Pv
 
Facility layout
Facility layoutFacility layout
Facility layoutĐán Lê
 

Similaire à 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
 
C++ Notes PPT.ppt
C++ Notes PPT.pptC++ Notes PPT.ppt
C++ Notes PPT.ppt
 
lecture1.ppt
lecture1.pptlecture1.ppt
lecture1.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
 

Plus de 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,14Eason Kuo
 
IDDD Ch.09 Module
IDDD Ch.09 ModuleIDDD Ch.09 Module
IDDD Ch.09 ModuleEason Kuo
 
IDDD Ch.08 Domain Event
IDDD Ch.08 Domain EventIDDD Ch.08 Domain Event
IDDD Ch.08 Domain EventEason 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 ObjectEason 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 StartupEason 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 IntroductionEason 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 2010Eason Kuo
 
Windows Phone Survey on Game Development
Windows Phone Survey on Game DevelopmentWindows Phone Survey on Game Development
Windows Phone Survey on Game DevelopmentEason 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
 

Plus de 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 熱血服霧
 

Dernier

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Dernier (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 

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