Upgrade to Pro — share decks privately, control downloads, hide ads and more …

実録!LOHACOにおけるDDDとCleanなArchitecture/DDD and Cle...

実録!LOHACOにおけるDDDとCleanなArchitecture/DDD and Clean Architecture at LOHACO

レガシーをぶっつぶせ。現場でDDD!の資料になります。
https://genbade-ddd.connpass.com/event/127494/

ASKUL Engineer

May 11, 2019

Transcript

92 slides
  1. 【少し古め】 API群 【最古】 モノリシック サーバ 【現役】 フロントサーバ (WEB) 【新】 API群

    【新】 カゴレジ フロントサーバ(WEB) LOHACOのシステム構成変革
  2. どの世代でも悩みは同じ • LOHACOのドメインは複雑 ◦ 在庫モデル + マーケットプレイスモデル + 細かな配送日時・エリア +

    生鮮販売 + 注文後精米 … などなど • 今後も機能追加・改善は続く • なんとか開発速度・DXを保ちたい
  3. 【少し古め】 API群 【最古】 モノリシック サーバ フロントサーバ (WEB) 【新】 API群 【新】

    カゴレジ フロントサーバ(WEB) 小さくDDDを始めてる半ば この辺の お話
  4. 境界づけられた コンテキストの統合 • 境界づけられたコンテキストの統合は RESTful リソースを 使用 ◦ ドメイン知識をどこまで公開するべきか悩む ◦

    ユビキタス言語のブレに悩む ◦ コンテキストの統合というより、コンテキストの密結合、 あるいは一つのコンテキストになった?
  5. とはいえ • LOHACOのドメインは複雑 ◦ 在庫モデル + マーケットプレイスモデル + 細かな配送日時・エリア +

    生鮮販売 + 注文後精米 … などなど • 今後も機能追加・改善は続く • なんとか開発速度・DXを保ちたい
  6. 【少し古め】 API群 【最古】 モノリシック サーバ フロントサーバ (WEB) 【新】 API群 【新】

    カゴレジ フロントサーバ(WEB) LOHACOのシステム構成 さっきの お話
  7. Maven multi-moduleとは lohaco
 ├─pom.xml
 ├─domain/
 | ├─src/ | └─pom.xml
 ├─application/


    | ├─src/ | └─pom.xml
 ├─infrastructure/
 | ├─src/ | └─pom.xml
 └─web/
 ├─src/ └─pom.xml
 
 プロジェクト内に サブモジュールを定義できる
  8. ヴァーン・ヴァーノン 実践ドメイン駆動設計 図4-4 Hexagonal Architecture サブモジュールを細かく するべきだった? • Hexagonal Architectureでいうと

    ころのアダプター単位くらいで良 かったかも • アダプター間の依存関係は当然持 たせないようにする

More Decks by ASKUL Engineer

Other Decks in Technology