AOPについてのメモ
AOPとは?
Aspect Oriented Programming = アスペクト指向プログラミング
クラスの持つ責務に基づいて、クラス内に本質的な処理だけを記述するために利用する技術です。
本質的な処理以外の、複数のクラスにまたがって記述される処理を横断的(Aspect)関心事
と呼びます。
横断的関心事 = 共通処理という考え方でおk
主な横断的関心事は
- ログ出力
- トランザクション管理
- 例外処理
AOPを導入することによって、本質的な処理と横断的関心ごとを分離して、共通で利用するためのソースコードを記述することができるため、誤った処理を減らし、可読性の良いソースコードにすることができます。
オブジェクト指向では、うまく分離できない横断的関心事を補助機能として利用されるプログラミングパラダイムです。
つまりどうゆうこと?
AOPを使うことによって、
元のソースコードには一切手をくわえずに、 新たな共通処理を追加することができるようになります。