現在のプログラム A, B に、在庫テーブルを更新した後に更新ログを出力する機能を追加する。この機能は共通モジュールで実装し、どのプログラムからも利用できるようにする。図は、プログラムの実装案である。案1も案2も、在庫テーブルを更新した後に更新ログが出力される。更新ログを出力する共通モジュールを呼び出す処理を、案1のように各プログラム中に直接記述するのではなく、案2のように呼び出し方の宣言を共通プログラムなどに記述することによって、開発の効率を高めたり、保守性を高めたりするプログラミング技法はどれか。
横断的関心事を宣言で織り込むのがアスペクト指向

選択肢
- アアスペクト指向プログラミング
- イオブジェクト指向プログラミング
- ウ関数型プログラミング
- エ構造化プログラミング
正解と解説
正解:ア アスペクト指向プログラミング
アスペクト指向プログラミングは、ログ出力や認可のように複数のモジュールに横断して現れる関心事(横断的関心事)を切り出し、「どの処理の前後で何を実行するか」という宣言によって本来の処理へ織り込む技法である。各プログラムに呼出しを書き並べる必要がなくなるため、追加や変更が一箇所で済み、開発効率と保守性が高まる。
選択肢ごとの解説
- ア正しい。横断的関心事を宣言によって織り込むのがアスペクト指向プログラミングである。
- イオブジェクト指向プログラミングはデータと操作をオブジェクトにまとめる考え方で、横断的関心事の分離は不得手である。
- ウ関数型プログラミングは副作用を避け関数の組合せで記述するスタイルで、この宣言的な織込みの仕組みとは異なる。
- エ構造化プログラミングは連接・選択・反復の三つの制御構造で処理を組み立てる技法である。
同じ分野の他の問題
- 論理型プログラミングにおいて、命題の証明を行うための基本的な機能はどれか。2024年度 春期 午前II 問9
- 純粋関数型言語がもつ特性の一つである参照透過性の説明はどれか。2024年度 春期 午前II 問8
- サブルーチンとの引数の受渡し方のうち,引数として渡した変数の値が,サブルーチンの実行後に変更されないことが保証されている…2025年度 春期 午前II 問9
- プログラムの構造的な複雑度を測る尺度としてMcCabeが提唱したサイクロマティック複雑度がある。制御の流れが次のグラフで…2025年度 春期 午前II 問8
- デザインパターンの一つであるObserverパターンを利用して実現できることはどれか。2025年度 春期 午前II 問5
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。