AOP 【Aspect Oriented Programming】 アスペクト指向プログラミング

概要

AOP(Aspect Oriented Programming)とは、コンピュータプログラムの特定の振る舞いを「アスペクト」と呼ばれる機能単位として分離して記述し、プログラム中の様々な対象に適用できるようにする手法。既存のオブジェクト指向プログラミング言語開発環境に補助的に導入されることが多い。

オブジェクト指向プログラミングでは、互いに関連するデータ属性)とそれらに対する操作の集合であるオブジェクトプログラムの基礎単位として記述していくが、ロギングのように様々なオブジェクトで共通して現れるが単一のオブジェクトメソッドなどとして切り出して定義することができないような横断的な機能(横断的関心事)が存在する場合がある。

横断的な機能は様々なオブジェクト中に散在し、そのままでは一括して変更したり修正することはできないが、AOPではこれをアスペクト(aspect:様相、側面)として抜き出して統一的に記述し、個別の箇所に一括して適用することができるようにする。

アスペクトはアドバイス(advice)と呼ばれる処理内容の記述と、処理を適用するコード中の位置やタイミングを表すジョインポイント(join point)をセットで指定する。ジョインポイントにはメソッド呼び出し、例外発生など様々な種類があり、アドバイスをどのようなポイントに結合するのかをポイントカット(pointcut)と呼ばれる条件式などで指定する。

AOPは既存の言語に追加するフレームワークなどの形で提供され、JavaにAOPを追加するAspectJ、Spring Framework、JBoss AOPなどがよく知られている。

(2018.12.26更新)

他の辞典による解説 (外部サイト)

この記事を参照している文書など (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる