2009年12月14日月曜日

AOP

AOPとは、ソフトウェアの特定の振る舞いを「アスペクト」として分離し、モジュール化するプログラミング技法。オブジェクト指向プログラミングの問題点を補うために考え出された手法。 オブジェクト指向プログラミングでは、属性(データ)と操作(メソッド)の集合であるオブジェクトをソフトウェアの分解単位として扱うが、オブジェクトとしてうまく分解ができないソフトウェアの「様相」や「側面」といったものが存在し、このような様相や側面は、複数のオブジェクト間にまたがる操作となる。これを「横断要素」と呼ぶ。 横断要素の代表例としては、プログラムの実行の様子を記録するロギング操作などが挙げられる。横断要素はプログラムコード中に散在するため、すべてを把握し管理することが難しく、また横断要素に対して変更を加える場合にはコード中のあらゆる場所から該当部分を探し出して書き換える必要が生じる。 AOPでは、こうした要素を「アスペクト」としてモジュール化し分離することで、把握?管理?変更を容易にする。AOPを導入することにより、既存のコードの手を加えなくてもプログラム中に散在する特定の機能を持った部分を書き換えることができる。AOP環境は既存のプログラミング言語の拡張機能などの形で提供されているものが多く、Javaを拡張してAOPを可能とする「AspectJ」などが有名。



aion-アイオン-rmt  | AION | 祝福の宝石 |

0 件のコメント:

コメントを投稿