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

【やさしく解説 設計編・中級 #2】使わないボタンだらけのリモコン ~ となりの変更で、うちの...

【やさしく解説 設計編・中級 #2】使わないボタンだらけのリモコン ~ となりの変更で、うちのビルドが赤くなる話 ~

【やさしく解説 設計編・中級 #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

Avatar for HideyukiKitao

HideyukiKitao PRO

July 14, 2026

More Decks by HideyukiKitao

Other Decks in Programming

Transcript