令和7年度 春期 システムアーキテクト試験 午前Ⅱ 問2
テクノロジ/開発技術オブジェクト指向設計における設計原則の説明のうち,開放・閉鎖原則のものはどれか。
出典:令和7年度 春期 システムアーキテクト試験 午前Ⅱ 問2
- アクラスにもたせる役割は一つだけにするべきであり,複数の役割が存在する場合にはクラスを分割する。
- イクラスを利用するクライアントごとに異なるメソッドが必要な場合は,インタフェースを分ける。
- ウ上位のモジュールは,下位のモジュールに依存してはならない。
- エモジュールは,機能の追加や変更が可能であって,その影響を他のモジュールに及ぼしてはならない。
正解:エ
解説
開放・閉鎖原則(OCP:Open-Closed Principle)は,モジュールが機能拡張に対しては開いており,既存コードの修正に対しては閉じているべきという設計原則です。既存のコードを変更せずに機能を追加・変更でき,その変更の影響が他のモジュールに及ばないようにすることを目的とします。
選択肢ごとの解説
- ア誤り。クラスに一つの役割だけをもたせるべきという原則は,単一責任の原則(SRP)の説明です。
- イ誤り。クライアントごとに異なるインタフェースを用意すべきという原則は,インタフェース分離の原則(ISP)の説明です。
- ウ誤り。上位モジュールが下位モジュールに依存してはならないという原則は,依存関係逆転の原則(DIP)の説明です。
- エ正しい。機能の追加や変更が可能であり,その影響を他のモジュールに及ぼしてはならないという性質は,開放・閉鎖原則の説明です。