Location via proxy:
[ UP ]
[Report a bug]
[Manage cookies]
No cookies
No scripts
No ads
No referrer
Show this form
Java EE勉強会
MenuBar
編集
添付
凍結
新規
最終更新
一覧
単語検索
DDD
/
AGGREGATE Boundaries
Menu
Top
JavaEE勉強会
参加するには
FAQ
MakingSenseofStreamProcessing
MicroservicesVsSOA
ModernJavaEEDesignPatterns
BSA
EIP
DSL
DDD
議事録
最新の20件
2023-11-24
MicroservicesVsSOA/The World of Service-Based Architectures
2020-11-14
DDD/Knowledge-Rich Design
MakingSenseofStreamProcessing/Example Implementing Twitter
2020-10-28
EIP/Aggregator
2019-12-18
EIP/Publish-Subscribe Channel
2018-06-10
FrontPage
2017-07-08
MakingSenseofStreamProcessing/Materialized Views Self-Updating Caches
MakingSenseofStreamProcessing/Summary Four Database-Related Ideas
MakingSenseofStreamProcessing/The Unbundled Database
MakingSenseofStreamProcessing/Conclusion
MakingSenseofStreamProcessing/Streaming All the Way to the User Interface
MakingSenseofStreamProcessing/4. Materialized Views
2017-06-11
MakingSenseofStreamProcessing/1. Replication
MakingSenseofStreamProcessing/Bringing the Unix Philosophy to the Twenty-First Century
MakingSenseofStreamProcessing/2. Secondary Indexes
MakingSenseofStreamProcessing/3. Caching
MakingSenseofStreamProcessing/How Databases Are Used
MakingSenseofStreamProcessing/Composability Requires a Uniform Interface
2017-03-25
MakingSenseofStreamProcessing/Unix Architecture versus Database Architecture
MakingSenseofStreamProcessing/Turning the Database Inside Out
AGGREGATEの境界 (p.170)
†
要約
†
導入−エンティティ
Cargo
への着目
Customer
、
Location
、
Carrier Movement
は独自のアイデンティティを持ち、多くの
Cargo
によって共有されるので、AGGREGATESのルート要素になる。
Cargo
がAGGREGATEのルートとなることは明らかだが、どこに境界を引くかという点には一考を要する。
Cargo
のAGGREGATE
Cargo
のAGGREGATEは、特定の
Cargo
がなければ存在し得ないものを全て含むことができる。
Delivery History
・
Delivery Specification
・
Handling Event
Delivery History
は境界内と考えられる。
Delivery History
を
Cargo
と関係なく検索する必要が無い。
Delivery History
のアイデンティティは
Cargo
から導かれる。
Handling Event
について
二通りの検索方法が考えられる。
Delivery History
内にコレクションを持つ方法に対する代替手段
特定の
Carrier Movement
に紐づく全てのオペレーションを検索
前者であれば、
Cargo
の
AGGREGATE
内と考えられる。
後者であれば、
Cargo
を
扱うこと
自体が
Cargo
から切り離されても意味を持つということになる。
したがって、
Handling Event
はAGGREGATEの外部とする。
担当者のつぶやき
†
AGGREGATEの境界を決定する際の根拠が、エンティティ間の本来的な性質ではなく
業務上の論理的な意味関係である
、という点はEvansの言うモデルを考える上でも重要だと思いました。
業務的には明らかにAGGREGATEの境界内にあるにもかかわらず、そのエンティティに対してグローバルな検索を行なう仕様って結構あると思うのですが、そういう場合はどう考えるのでしょうか。。
例えば、「企業」-「部署」-「営業履歴」という関係がある場合に「担当者」と「日付」で「営業履歴」一覧を見たいというような場合。
AGGREGATEの単位は細かくなっても良くて、そういう場合には、AGGREGATEのルート同士の関係モデルが作られるということでしょうか。
みんなの突っ込み
†
まとめ (
議事録
)
†
Menu
Top
JavaEE勉強会
参加するには
FAQ
MakingSenseofStreamProcessing
MicroservicesVsSOA
ModernJavaEEDesignPatterns
BSA
EIP
DSL
DDD
議事録
最新の20件
2023-11-24
MicroservicesVsSOA/The World of Service-Based Architectures
2020-11-14
DDD/Knowledge-Rich Design
MakingSenseofStreamProcessing/Example Implementing Twitter
2020-10-28
EIP/Aggregator
2019-12-18
EIP/Publish-Subscribe Channel
2018-06-10
FrontPage
2017-07-08
MakingSenseofStreamProcessing/Materialized Views Self-Updating Caches
MakingSenseofStreamProcessing/Summary Four Database-Related Ideas
MakingSenseofStreamProcessing/The Unbundled Database
MakingSenseofStreamProcessing/Conclusion
MakingSenseofStreamProcessing/Streaming All the Way to the User Interface
MakingSenseofStreamProcessing/4. Materialized Views
2017-06-11
MakingSenseofStreamProcessing/1. Replication
MakingSenseofStreamProcessing/Bringing the Unix Philosophy to the Twenty-First Century
MakingSenseofStreamProcessing/2. Secondary Indexes
MakingSenseofStreamProcessing/3. Caching
MakingSenseofStreamProcessing/How Databases Are Used
MakingSenseofStreamProcessing/Composability Requires a Uniform Interface
2017-03-25
MakingSenseofStreamProcessing/Unix Architecture versus Database Architecture
MakingSenseofStreamProcessing/Turning the Database Inside Out