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

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

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

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

ASKUL Engineer

May 11, 2019
Tweet

More Decks by ASKUL Engineer

Other Decks in Technology

Transcript

  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でいうと

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