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

【やさしく解説 設計編・中級 #5】足すだけ、のはずだった ~ ボタンひとつの依頼から ~

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for HideyukiKitao HideyukiKitao PRO
July 17, 2026
4

【やさしく解説 設計編・中級 #5】足すだけ、のはずだった ~ ボタンひとつの依頼から ~

【やさしく解説 設計編・中級 #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 目次およびスライド間のリンクを調整

Avatar for HideyukiKitao

HideyukiKitao PRO

July 17, 2026

More Decks by HideyukiKitao

Transcript

  1. 答えは、これまでの4回の質問すべてです。 回 症状 伸びた手の先 #1 営業の変更で、梱包が止まった 現場の箱の組み立て #2 帳票の変更で、隣のビルドが割れた 使ってもいないコード

    #3 新しい会社の加盟で、待機中の車が消えた 呼び出し元の前提 #4 画面フレームワークの更新で、業務ルールが道連れ 在庫の計算式 ぜんぶ、足そう・変えようとした瞬間に、  触らなくていいはずの場所へ手が伸びた話です。 解 剖 6
  2. この回が借りたもの 開放閉鎖原則(OCP) 原型はバートランド・メイヤー(Object-Oriented Software Construction, 1988) 。 本文の定式化は下記を参照しています。 ロバート・C・マーティン著、角征典・高木正弘訳 『Clean

    Architecture 達人に学ぶソフトウェアの構造と設計』KADOKAWA、2018年 https://www.kadokawa.co.jp/product/301806000678/ 本文の「開放閉鎖原則」は本連載の表記です。 「SOLID」という呼び名 頭文字をSOLIDと並べたのは、マイケル・フェザーズの発案と ロバート・C・マーティン自身が紹介しています。 引 用 元 16
  3. 【やさしく解説 設計編・中級 】目次 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 19
  4. 【やさしく解説 設計編・中級 】目次(つづき) 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 20