アスペクト指向プログラミング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/23 17:41 UTC 版)
アスペクト指向プログラミング(Aspect Oriented Programming、AOP)は、横断的関心を実装する手法によって、プログラムのモジュール性を高めることを目的にしたプログラミングパラダイムである。横断的関心とは、関心の分離によるモジュールの複数以上にまたがっている共通機能を意味している。AOPはこの横断的関心を、既存コードに設けた間接点(joint point)を通しての振る舞い助言(advice)の追加によって、コード変更を伴なわずに実装できるようにしている。任意の間接点および振る舞い助言の定義をまとめたモジュールがアスペクトと呼ばれ、これが横断的関心の表現体になる。例としては、全ての関数呼出しにログ出力を伴わせたい時に、全関数冒頭にjoint pointを設けてログ出力コードをadviceにしたアスペクトをプログラム内に定義することで、自動的に各関数呼出しとログ出力が同時実行されるようになる。
- ^ “まつもと直伝 プログラミングのオキテ 第0回 あらためてRuby入門(基本と他言語との違い)”. 日経クロステック. 2020年12月18日閲覧。
- ^
Module#prepend
によってCLOS(CommonLisp Object System)のaround hookと同じように,あるメソッドの前後をフックして処理を行えるようになりました。これは以前注目されていた「アスペクト指向プログラミング」に近い振る舞いになります。https://gihyo.jp/news/report/01/rubykaigi2017/0002
- 1 アスペクト指向プログラミングとは
- 2 アスペクト指向プログラミングの概要
アスペクト指向プログラミング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/11 01:34 UTC 版)
「オブジェクト指向分析設計」の記事における「アスペクト指向プログラミング」の解説
アスペクト指向プログラミング (AOP; aspect-oriented programming) では、プログラム (システム) のすべての主だった機能は、アスペクトであると考える。アスペクトには、中心的な関心事 (ビジネスロジック) と横断的な関心事 (付加的な機能) とがある。分割しておいた中心的な関心事と付加的な関心事をいっしょに編み合わせる (weaving) ことにより、分割しておいたアスペクトを基にして、プログラム全体を生成することができる。
※この「アスペクト指向プログラミング」の解説は、「オブジェクト指向分析設計」の解説の一部です。
「アスペクト指向プログラミング」を含む「オブジェクト指向分析設計」の記事については、「オブジェクト指向分析設計」の概要を参照ください。
アスペクト指向プログラミングと同じ種類の言葉
- アスペクト指向プログラミングのページへのリンク