創屋ぷれす

AOP(Aspect Oriented Programming)とは

アスペクト指向プログラミングとは、オブジェクト指向でうまく分離できない、オブジェクトを横断する機能を実現するための考え方。オブジェクト指向とアスペクト指向は対立するものではなく、組み合わせて使えます。

実際の使用用途としては、
・ログ処理
・トランザクション処理
・例外処理
…などを、共通的な仕組みとして用意しておき、各業務ロジックのクラスがそれを定義する、といったものが考えられます。

それは、単なる共通関数の呼び出しと何が違うのか?とも思いますが、
既存の処理に手を入れるのではなく、アノテーションによる定義のみで目的の機能を追加したり、
Mixinとよばれる仕組みで機能を追加するなど、言語仕様・フレームワークの層で基盤機能の位置づけとして実現する事も特徴のようです。

アスペクト指向を取り入れる事で具体的には以下のメリットがあると考えられます。
・コードが統一される
・可読性が良くなる

業務ロジックに近い層のFW部分を設計する際には、このパラダイムを頭に置いておくことが重要になりそうです。

Comments are closed.