【やさしく解説 設計編・中級 #2】使わないボタンだらけのリモコン
50メソッドのインターフェース `IRepository` がありました。
検索も、集計も、一括更新も、エクスポートも生えています。
ある日、帳票チームがエクスポート用メソッドの形を一つ変えました。
呼び出し元は全部直し、手元のテストは緑。夕方、mainにマージして帰りました。
翌朝、画面チームとバッチチームのビルドが赤い。
両チームには、心当たりがありません。「うちは帳票機能なんて、使ってもいないのに」。
---
この資料は、その「なぜ」に名前がつくまでの話です。名前は、インターフェース分離の原則(ISP)。
SOLIDの「I」ですが、答えは「使っているかどうか」の外にありました。
持ち帰りは一問だけ。「その操作盤、使わないスイッチは?」
SOLIDを原則からではなく事例から読み直す、中級シリーズ(全6回)の第2回です。
---
※本編にて、「ドメイン」とは、「駆動」とは、を解説しています。中級編の前にどうぞ
【やさしく解説 設計編 #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 形をすり抜ける嘘 ~ 形は合っていたのに、の話 ~
キーワード:`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