【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
※7/16 20:00 スライド中盤の展開を修正しました。主旨は変えず冗長な部分を統合。
舞台は、中級#1の、あの倉庫システムです。
月曜の朝、担当者に一通のメールが届きました。差出人は、画面フレームワークの開発元。
「現行版のサポートは、半年後に終了します」。
画面まわりだけの話のはず。そう思って、影響調査が始まりました。
移行対象の一覧に、在庫計算のファイルが載っていました。計算ルールは、何も変わらないのに。
数日後、会議室で誰かが言いました。「なぜ在庫の計算式が、画面の都合で書き直しになるのか」。
---
間違っていたのは、計算式でも、フレームワークの選定でもありません。向きでした。
10年単位で生きる計算式が、数年で入れ替わるフレームワークに寄りかかっていました。
この向きをひっくり返すのが、依存性逆転の原則(DIP)、SOLIDの「D」です。
『クリーンアーキテクチャ』の同心円を、ご存じの方へ。
あの円が年輪に見えてくる読み方も、用意しています。
寄り道では、DIコンテナの入り口として、私がいちばん分かりやすかったPodcastの回を紹介しています。
持ち帰りは一問だけ。「自分より長生きするものに、寄りかかっていますか?」
SOLIDを原則からではなく事例から読み直す、中級シリーズ(全6回)の第4回です。
---
### 紹介したポッドキャスト
fukabori.fm 第48・49回「GoFデザインパターンとDI」
(パーソナリティ:岩瀬義昌さん、ゲスト:和田卓人さん)
https://fukabori.fm/episode/48
https://fukabori.fm/episode/49
---
※本編にて、「ドメイン」とは、「駆動」とは、を解説しています。中級編の前にどうぞ
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
https://speakerdeck.com/panda728/yasasikujie-shuo-she-ji-bian-number-0
ーーー
ーーー
【やさしく解説 設計編・中級 】目次
#1 一つの車に、運転手は一人 ~ ある倉庫システムの事例から ~
キーワード:`SOLID` `単一責任の原則(SRP)` `アクター`
https://speakerdeck.com/panda728/yasasiku-sekkei-2-number-1
#2 使わないボタンだらけのリモコン ~ となりの変更で、うちのビルドが赤くなる話 ~
キーワード:`SOLID` `インターフェース分離の原則(ISP)`
https://speakerdeck.com/panda728/yasasiku-sekkei-2-number-2
#3 【やさしく解説 設計編・中級 #3】形はあっていたのに ~ 形に書けない約束の話 ~
キーワード:`SOLID` `リスコフの置換原則(LSP)` `事前条件、事後条件、不変条件`
https://speakerdeck.com/panda728/yasasiku-sekkei-2-number-3
#4 ルールの寿命と、システムの年輪 ~ 月曜の朝の、一通の通知から ~
キーワード:`SOLID` `依存性逆転の原則(DIP)` `安定依存`
https://speakerdeck.com/panda728/yasasiku-sekkei-2-number-4
#5 なぜ「足すだけ」が、「足すだけ」で済まないのか~ ボタンひとつの依頼から ~
キーワード:`SOLID` `開放閉鎖の原則(OCP)`
https://speakerdeck.com/panda728/yasasiku-sekkei-2-number-5
#6 良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
キーワード:`SOLID` `クリーンアーキテクチャ`
https://speakerdeck.com/panda728/yasasiku-sekkei-2-number-6
※ 7/17 目次およびスライド間のリンクを調整