春AOPの簡単な概要

(この記事では、侵害は、私に連絡してください場合にのみ、学ぶために、研究ノートに集めエディタの概要です)

AOPコア概念は:ボーエンアドレスから移動http://www.cnblogs.com/xrq730/p/4919025.html

 

 

AOP(アスペクト指向プログラミング)


、アスペクト指向プログラミングであるAOP(アスペクト指向プログラミング)を、添加し、改善された(オブジェクト指向プログラミング、オブジェクト指向プログラミング)OOPと言うことができます。OOPは、共通セットの動作をシミュレートするために使用されるオブジェクトの階層構造を構築するなど、カプセル化、継承、ポリモーフィズム、概念として導入しました。しかし、OOPは、開発者が上下関係を定義するが、例えば、対数関数、定義された横方向の関係に適していないことを可能にします。ログコードはすべてのオブジェクト階層に横方向に、機能に対応する中核オブジェクトは、セキュリティ、例外処理、および連続のようなコードの他のタイプには関係が、透明そうではないが拡散する傾向があり、このスプレッド独立したコードは、再利用可能なモジュールを犠牲にし、コードの繰り返しの多くにつながったオブジェクト指向設計において、横(横断)を通して呼ばれます。

「反して「横」と呼ばれる技術を使用していますAOP技術、内部断面デカプセル化オブジェクト、および再利用可能な複数のモジュールの中にカプセル化された公共のクラスの動作に影響を与えるもの、そしてそれを命名アスペクト」、すなわちセクション。簡単に重複したコードには、いわゆる「カット」、単にビジネスを行うためのものは何もありませんが、それはビジネスロジックやカプセル化と呼ばれる共通モジュールの責任である、システムを削減し、モジュール間の結合度を低減し、かつ将来の操作性を容易にするために、および保守性。

コアの懸念と横断的関心事:技術を「クロスカット」使用は、AOPは、ソフトウェアシステムは、2つの部分に分かれています。ビジネスプロセスの主な流れは関係のない部分は、横断的関心事であり、コアの懸念です。横断的関心事は、彼らはしばしば、多くのコアの懸念に発生し、かつ、そのような認証局、ログものなど、どこにでも本質的に同様であることを特徴。AOPは、様々な問題分離システム、コア及び横断的関心事を分離することです。


事前通知、通知最終後、リア復帰通知、異常通知リアサラウンド通知


AOPの中核となる概念

1、横断的関心事

迎撃に対処する方法、メソッドのインターセプト、これらの懸念は懸念を横断的と呼ばれます

図2に示すように、セクション(アスペクト)

クラスは、抽象オブジェクトの特徴である横断的関心事の抽象的な部分であります

図3に示すように、接続点(ジョインポイント)

インターセプトポイントは、支援方法スプリング型接続点ので、スプリング方法における結合点は、実際には、結合点があってもよいフィールドまたはコンストラクタ、傍受すべきです

4、エントリーポイント(ポイントカット)

傍受の接続ポイントを定義します。

5、通知(アドバイス)

通知手段と呼ばれるコードが実行される傍受の接続点を指す後、通知が5つの通知に囲まれた、前部、後部、異常終了に分割されています

図6に示すように、対象物

演技の聴衆

7、製織(織物)

ターゲットオブジェクトにカットして作成したプロキシオブジェクトに至る過程

8、導入された(はじめに)

コードを変更しないという前提の下で、いくつかのメソッドまたはフィールドの導入は、実行時に動的にクラスに追加することができます


 

AOPプログラミングは実際には非常に単純なこと、AOPプログラミングを見ている、プログラマは三つの部分に参加する必要は:

1、一般的なビジネス・コンポーネントの定義

2、出発点の定義は、出発点は、ビジネス・コンポーネントの複数の交差してもよいです

3、定義強調処理は、演算処理における強調処理は、コンポーネントが通常のトラフィックに織り込まれているフレームであるAOP

キーは、エントリ・ポイントと定義AOP強調処理プログラムを定義エントリポイント一度、適切な強調処理を定義することであるので、AOP AOPプロキシフレームが自動的に生成され、すなわち:プロキシ・オブジェクトの処理方法は、メソッド= +エンハンスメントプロキシオブジェクトです。


II:メソッド説明セクション

@側面

現在のクラスの役割は、容器用のリード部として識別されます

@前

BeforeAdviceに対応する機能を高めるための事前識別方法

@AfterReturning

背面には、実行、AfterReturningAdviceと同等の、強化されたときにメソッドが終了

@AfterThrowing

強化された例外は、ThrowsAdviceと同等のものを投げています

@After

それは例外または正常終了を投げているかどうかを最終的な向上は、実行されます

@Around

サラウンドエンハンスメント相当MethodInterceptorの


@Pointcut( "実行(公開* com.example.controller。*。*(..))")  

 

実行ポイントカット機能

接続点マッチング法を実行するための実行機能、構文は次のとおりです。

実行(メソッド修飾子(オプション)メソッドが異常パターンパラメータ名のタイプを返す(オプション)) 

-------------------------------

ワイルドカードパラメータセクション:

*任意の文字に一致しますが、唯一の1つの要素のマッチング

..任意の文字を複数の要素のいずれにも一致し、クラスを表す、と組み合わせて使用​​されなければならないことができると一致*

+などホースマン+として、クラス名の後に続く必要があり、それはクラス自体を表し、すべてのクラスが継承するか、指定されたクラスを拡張します

リリース5元の記事 ウォンの賞賛3 ビュー352

おすすめ

転載: blog.csdn.net/Young_IT/article/details/82798144