IPA公式正解:エ モジュールの機能には,追加や変更が可能であり,その影響が他のモジュールに及ばないようにする。
※ 正解はIPA公表の解答です。解説は当サイトが生成AIを用いて作成しています。誤りにお気づきの場合はお問い合わせください。
【解説】正解は選択肢【エ】です。開放・閉鎖原則(OCP: Open/Closed Principle)は、ソフトウェアの構成要素は「拡張に対して開いて(Open)いなければならず、修正に対して閉じて(Closed)いなければならない」とする原則です。新機能追加時に既存コードを変更せず影響を局所化することを目指します。
【詳細解説】■ 本問の核心・解法のポイント
オブジェクト指向設計の代表的な指針である「SOLID原則」の1つ、開放・閉鎖原則(OCP: Open/Closed Principle)に関する定義を問う問題です。OCPでは、新しい振る舞いや機能の追加が容易であること(拡張に対して開いている)と、その追加によって既存のソースコードやモジュールに修正の影響が及ばないこと(変更に対して閉じている)を両立させる設計(インタフェースや多相性の活用)を要求します。
・各選択肢の徹底解説:
・ア:クラスが担う役割・変更の理由を1つに限定すべきとするのは「単一責任の原則(SRP: Single Responsibility Principle)」の説明です。
・イ:クライアントが不要なメソッドへの依存を避けるためインタフェースを細分化すべきとするのは「インタフェース分離の原則(ISP: Interface Segregation Principle)」の説明です。
・ウ:上位モジュールが下位モジュールに依存せず、双方が抽象に依存すべきとするのは「依存性逆転の原則(DIP: Dependency Inversion Principle)」の説明です。
・【選択肢エ★】:正解です。機能の追加や変更が可能でありながら、その影響が他のモジュールに波及しないように閉じておくという記述は「開放・閉鎖原則(OCP)」の説明です。
よって正解はエです。