AOP
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>IoC、AOP → DI → 依存性反転原則]]
* 目次 [#t1af136a]
#contents
*概要 [#t4d2647f]
**AOP [#t2b687cd]
-AOP: Aspect Oriented Programming
-アスペクト指向プログラミング
**AOPとは? [#d7f9b533]
***設計目的 [#x5a18ebe]
-オブジェクト指向ではうまく分離できない問題
>各メソッド内に別のメソッドを呼び出す「処理の共通的パター...
オブジェクト指向ではこれを共通化できず、処理が散在してし...
>を「アスペクト」と呼び、
-アスペクト記述言語(若しくはこれを実現するための各種技術...
「アスペクト」を別のメソッド(モジュール)に分離して記述...
プログラムに柔軟性を持たせようとする試み。
※ この問題は[[IoC]]でも解決できるが、AOPではコードの外で...
アスペクト記述言語による[[ウィービング>#x5cb142b]]でコー...
***ユースケース [#vc4316f4]
アスペクトの代表的な利用例としては「ロギング処理」がある。
-ロギング処理
#ref(AOP-Logging.png,left,nowrap,ロギング処理(アスペクト...
-ロギング処理のアスペクト~
以下は、AOPを使用してロギング処理の「アスペクト」を~
別のモジュール(or 定義)に分離して実装した例である。
#ref(ExampleOfAOP.png,left,nowrap,AOPでのロギング処理の実...
実際にコードが実行される際には、ルールに従って指定された...
「アスペクト」が織り込まれる(これをアスペクトの[[ウィー...
*詳細 [#ea4b72b9]
**技術 [#r06f8e62]
AOPを実現する技術(方式)には下記のものがある。
-コンパイル時の静的な[[ウィービング>#x5cb142b]]
-実行時の動的な[[ウィービング>#x5cb142b]]
**開発基盤 [#e35b4203]
代表的なAOP開発基盤(古いかも)
***言語個別 [#s0700385]
-AspectJ(Java用):http://www.eclipse.org/aspectj/
-AspectC++(C/C++用):http://www.aspectc.org/
-AspectR(Ruby用):http://raa.ruby-lang.org/project/aspe...
***フレームワーク個別 [#l05d9f59]
-JBossAOP(Java用):http://www.jboss.org/jbossaop
-Spring Framework(Java用):http://www.springsource.org/
-Seasar2(Java用):http://s2container.seasar.org/2.4/ja/
***その他 [#ie6bd523]
-AspectWerkz(Jonas Boner等によって開発):http://aspectw...
**ウィービング [#x5cb142b]
ウィービングの指定方法には、
-定義ファイル
-アノテーション(メソッド / クラス属性)
-クラスのメソッド構成
などがある。
前述の説明に合わせると、透過プロキシを使用したAOPでは、
-アスペクトを透過プロキシ(後述)上に実装する。
-ウィービングされるアスペクトは、使用する透過プロキシによ...
となる。
*関連 [#cb8f7ebe]
**[[IoC]] [#m45a98c7]
**[[DI]] [#qd0aa8f6]
*参考 [#xe1c9077]
-アスペクト指向プログラミング - Wikipedia~
https://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%B9%E3%83%9A...
**[[.NETにおいてAOPを実現する透過プロキシ]] [#tc8cc73b]
**AOP、不評ですね(私も全く使ってないです)。 [#sed1f02b]
-Qiita
--AOPが不要だと考える理由~
https://qiita.com/yamaokunousausa/items/0e99aef0a0b3adb32...
--.NET で独自の AOP を導入したら不便になってしまった話~
https://qiita.com/KoKeCross/items/4b16ff8cdad65e0fea23
----
Tags: [[:プログラミング]], [[:.NET開発]]
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>IoC、AOP → DI → 依存性反転原則]]
* 目次 [#t1af136a]
#contents
*概要 [#t4d2647f]
**AOP [#t2b687cd]
-AOP: Aspect Oriented Programming
-アスペクト指向プログラミング
**AOPとは? [#d7f9b533]
***設計目的 [#x5a18ebe]
-オブジェクト指向ではうまく分離できない問題
>各メソッド内に別のメソッドを呼び出す「処理の共通的パター...
オブジェクト指向ではこれを共通化できず、処理が散在してし...
>を「アスペクト」と呼び、
-アスペクト記述言語(若しくはこれを実現するための各種技術...
「アスペクト」を別のメソッド(モジュール)に分離して記述...
プログラムに柔軟性を持たせようとする試み。
※ この問題は[[IoC]]でも解決できるが、AOPではコードの外で...
アスペクト記述言語による[[ウィービング>#x5cb142b]]でコー...
***ユースケース [#vc4316f4]
アスペクトの代表的な利用例としては「ロギング処理」がある。
-ロギング処理
#ref(AOP-Logging.png,left,nowrap,ロギング処理(アスペクト...
-ロギング処理のアスペクト~
以下は、AOPを使用してロギング処理の「アスペクト」を~
別のモジュール(or 定義)に分離して実装した例である。
#ref(ExampleOfAOP.png,left,nowrap,AOPでのロギング処理の実...
実際にコードが実行される際には、ルールに従って指定された...
「アスペクト」が織り込まれる(これをアスペクトの[[ウィー...
*詳細 [#ea4b72b9]
**技術 [#r06f8e62]
AOPを実現する技術(方式)には下記のものがある。
-コンパイル時の静的な[[ウィービング>#x5cb142b]]
-実行時の動的な[[ウィービング>#x5cb142b]]
**開発基盤 [#e35b4203]
代表的なAOP開発基盤(古いかも)
***言語個別 [#s0700385]
-AspectJ(Java用):http://www.eclipse.org/aspectj/
-AspectC++(C/C++用):http://www.aspectc.org/
-AspectR(Ruby用):http://raa.ruby-lang.org/project/aspe...
***フレームワーク個別 [#l05d9f59]
-JBossAOP(Java用):http://www.jboss.org/jbossaop
-Spring Framework(Java用):http://www.springsource.org/
-Seasar2(Java用):http://s2container.seasar.org/2.4/ja/
***その他 [#ie6bd523]
-AspectWerkz(Jonas Boner等によって開発):http://aspectw...
**ウィービング [#x5cb142b]
ウィービングの指定方法には、
-定義ファイル
-アノテーション(メソッド / クラス属性)
-クラスのメソッド構成
などがある。
前述の説明に合わせると、透過プロキシを使用したAOPでは、
-アスペクトを透過プロキシ(後述)上に実装する。
-ウィービングされるアスペクトは、使用する透過プロキシによ...
となる。
*関連 [#cb8f7ebe]
**[[IoC]] [#m45a98c7]
**[[DI]] [#qd0aa8f6]
*参考 [#xe1c9077]
-アスペクト指向プログラミング - Wikipedia~
https://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%B9%E3%83%9A...
**[[.NETにおいてAOPを実現する透過プロキシ]] [#tc8cc73b]
**AOP、不評ですね(私も全く使ってないです)。 [#sed1f02b]
-Qiita
--AOPが不要だと考える理由~
https://qiita.com/yamaokunousausa/items/0e99aef0a0b3adb32...
--.NET で独自の AOP を導入したら不便になってしまった話~
https://qiita.com/KoKeCross/items/4b16ff8cdad65e0fea23
----
Tags: [[:プログラミング]], [[:.NET開発]]
ページ名: