Spring によるアスペクト指向プログラミング
アスペクト指向プログラミング(AOP)は、プログラム構造に関する別の考え方を提供することにより、オブジェクト指向プログラミング(OOP)を補完します。OOP のモジュール性の重要な単位はクラスですが、AOP のモジュール性の単位はアスペクトです。アスペクトにより、複数の型とオブジェクトにまたがる関心事(トランザクション管理など)のモジュール化が可能になります。(このような関心事は、AOP の文献では「横断的」関心事と呼ばれることがよくあります。)
Spring の重要なコンポーネントの 1 つは、AOP フレームワークです。Spring IoC コンテナーは AOP に依存しませんが(必要ない場合は AOP を使用する必要はありません)、AOP は Spring IoC を補完して、非常に有能なミドルウェアソリューションを提供します。
AOP は Spring Framework で次の目的で使用されます。
宣言的なエンタープライズサービスを提供します。このようなサービスで最も重要なのは、宣言型トランザクション管理です。
ユーザーにカスタムアスペクトを実装させ、OOP と AOP の使用を補完します。
汎用の宣言型サービスまたはプーリングなどの事前にパッケージ化された宣言型ミドルウェアサービスのみに関心がある場合は、Spring AOP を直接操作する必要はなく、この章のほとんどをスキップできます。 |