【やさしく解説 設計編・中級 #5】足すだけ、のはずだった
「ボタンを一つ、足すだけなんですが」。
そう依頼されて、半日と見積もりました。
コードを開くと、既存の分岐を三箇所直すことになりました。
直した先のテストを読み直し、壊していないか不安で、結局まわりを全部読みました。
三日かかりました。
リリース後、誰かが言いました。「足しただけ、なのに、どうして時間がかかるのですか」。
---
その『どうして』につく名前が、開放閉鎖原則(OCP)。
SOLIDの「O」ですが、答えは新しい原則の中ではなく、これまでの4回の中に、最初から置いてありました。
SOLIDの5文字のうち、Oだけ、役割が違います。その種明かしの一枚も、用意しています。
持ち帰りは一問だけ。「それ、足すだけで足せますか?」
SOLIDを原則からではなく事例から読み直す、中級シリーズ(全6回)の第5回です。
---
※本編にて、「ドメイン」とは、「駆動」とは、を解説しています。中級編の前にどうぞ
【やさしく解説 設計編 #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 目次およびスライド間のリンクを調整