システムアーキテクト暗記無料で始める

アスペクト指向プログラミングとは?あすぺくとしこうぷろぐらみんぐ

アスペクト指向プログラミングとは、ログ出力・トランザクション制御・認可のように多数のモジュールへ散らばる横断的関心事を、アスペクトとして1か所に記述し、ポイントカットで指定した箇所へ自動的に織り込む(ウィービング)技法。業務ロジック側のソースには手を入れない。

最終更新:2026-10-06

試験情報

システムアーキテクト試験の過去問では1回出題されています。

システムアーキテクト試験の頻出用語/午前II

別名:AOP

この語が出る過去問を解く →

背景

横断的関心事を各メソッドへ直接書くと、同じ数行が全体に散らばり、方針を変えるたびに全箇所を追うことになる。共通メソッドの呼出しにまとめても「呼び忘れ」は防げない。適用範囲を宣言で指定し機械的に挿入させることで、抜けのない適用と業務ロジックの見通しを同時に確保するのが、この技法の狙いである。

具体例

Spring FrameworkのAOPでは、「サービス層のpublicメソッドの前後で処理時間を記録する」「例外発生時にトランザクションをロールバックする」といった処理を、注釈と設定だけで対象すべてへ適用できる。

試験での引っ掛け

本体のソースに現れないため、コードを読んだだけでは何が実行されるか分からず、障害解析や影響範囲の把握が難しくなる副作用がある。ポイントカットの指定を広く取りすぎると意図しないメソッドまで対象になる点も、適用範囲を決めるときの論点になる。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では1回出題
  • 分野:午前II
  • 本体のソースに現れないため、コードを読んだだけでは何が実行されるか分からず、障害解析や影響範囲の把握が難しくなる副作用がある。