本文へスキップ
Certia
未分類
春期

システムアーキテクト 2024年 春期 問7

7 / 25

現在のプログラム A,Bに、在庫テーブルを更新した後に更新ログを出力する機能 を追加する。この機能は共通モジュールで実装し、どのプログラムからも利用できる ようにする。図は、プログラムの実装案である。案1も案2も、在庫テーブルを更新 した後に更新ログが出力される。更新ログを出力する共通モジュールを呼び出す処理 を、1のように各プログラム中に直接記述するのではなく、案2のように呼び出し 方の言を共通プログラムなどに記述することによって、開発の効率を高めたり、保 守性を高めたりするプログラミング技法はどれか。 [現在〕 〔案1] 〔案2〕 プログラムX 宣言:在庫テーブルを更 新した後にモジュールCを 呼び出す プログラムA プログラムA プログラムA : 在庫テーブルを更新する 在庫テーブルを更新する 在庫テーブルを更新する モジュールCを呼び出す : プログラムB プログラムB プログラムB 在庫テーブルを更新する 在庫テーブルを更新する 在集テーブルを更新する モジュールCを呼び出す モジュールC モジュールC 更新ログを出力する 更新ログを出力する

問題の図

正解と解説

表示する
正解 ア

アスペクト指向プログラミング

共通の処理(ログ出力)を各プログラムに直接書かず、呼び出し方の宣言を別に記述して横断的関心事を分離するのはアスペクト指向プログラミングです。案2のように「在庫更新後にモジュールCを呼ぶ」という宣言で処理を織り込む技法で、オブジェクト指向・関数型・構造化のいずれとも異なります。

AI に聞く

AI のボタンを押すと、問題文と解答を入れたプロンプトをコピーしてから各サービスを開きます。入力欄に自動で入らない場合は貼り付けてください。