「アスペクト指向プログラミング」の版間の差分
削除された内容 追加された内容
Aki42006AWB (会話 | 投稿記録) "脚注"節を挿入 using AWB |
編集の要約なし タグ: 差し戻し済み ビジュアルエディター |
||
(同じ利用者による、間の2版が非表示) | |||
1行目:
[[ファイル:W3sDesign Dependency Injection Design Pattern UML.jpg|境界|右|フレームなし|265x265ピクセル]]
{{プログラミング・パラダイム}}
'''アスペクト指向プログラミング'''({{lang-en-short|''Aspect Oriented Programming''}}:略称 '''AOP''')は、[[関心の分離]](''separation of concerns'')と{{仮リンク|横断的関心事|en|Cross-cutting concern|label=}}(''cross-cutting concern'')を直交させる設計と実装を目的にした[[プログラミング|コンピュータプログラミング]]のための手法またはスタイルである。ここでの関心とはプログラム内での一つの機能責任を表わしているデータとコードの複合体である[[モジュール]]を指し、分離とは適切なモジュール分割を指す。横断的関心事とはモジュールの[[凝集度|高凝集]]と[[結合度|疎結合]]を追求しても切り離しが困難で各モジュール間に散在せざる得ない重複パートを指す。この重複パートを特殊なモジュール化したものがアスペクトであり、アスペクトは[[コンパイラ]]によってプログラムの随所に織り込まれる。
AOPは「[[Common Lisp Object System]]」が備えていた動的ジェネリック関数の[[ミックスイン]]がルーツである。[[MIT]]から「[[Smalltalk]]」の発祥地[[ゼロックスPARC]]に移籍して、[[CLOS]]の設計思想を[[The Art of the Metaobject Protocol|メタオブジェクト
== 主なアスペクト指向言語 ==▼
== 来歴 ==
* [[AspectJ]]▼
* [[AspectR]]▼
* [[
▲* [[AspectJ|Aspect J]]
▲* [[AspectR|Aspect R]]
* Aspect L▼
* {{仮リンク|e (IEEE 1647)|en|E_(verification_language)}}
==
* Aspect cocoa
* Aspect Werkz
*JBoss AOP
* [[Spring Framework]]
* [[Seasar]]
▲== 用語 ==
▲* Aspect
== 脚注 ==
31 ⟶ 30行目:
== 関連項目 ==
* [[関心の分離]]
*{{仮リンク|横断的関心事|en|Cross-cutting concern|label=}}
== 外部リンク ==
* [https://web.archive.org/web/20070430030838/http://www.csg.is.titech.ac.jp/projects/bugdel/ Bugdel] -- アスペクト指向を使用したデバッグコードの挿入
* [http://untrod.keihanna.ne.jp/whitedog/ WhiteDog System]{{リンク切れ|date=2018年3月 |bot=InternetArchiveBot }} -- ネットワーク共有機能の挿入▼
▲* [https://web.archive.org/web/20070430030838/http://www.csg.is.titech.ac.jp/projects/bugdel/ Bugdel] アスペクト指向を使用したデバッグコードの挿入
* [https://web.archive.org/web/20060321033931/http://www.komiya.ise.shibaura-it.ac.jp/~sakurai/aa/index_jp.html Association Aspects: 連想アスペクト] -- アスペクト指向言語の拡張▼
▲* [http://untrod.keihanna.ne.jp/whitedog/ WhiteDog System]{{リンク切れ|date=2018年3月 |bot=InternetArchiveBot }} ネットワーク共有機能の挿入
* [http://mergedoc.sourceforge.jp/ MergeDoc Project] Pleiades: -- Eclipse [http://www.eclipsewiki.net/eclipse/?%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%C6%FC%CB%DC%B8%EC%B2%BD%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3 プラグイン日本語化プラグイン]▼
▲* [https://web.archive.org/web/20060321033931/http://www.komiya.ise.shibaura-it.ac.jp/~sakurai/aa/index_jp.html Association Aspects: 連想アスペクト] アスペクト指向言語の拡張
* [http://msdn.microsoft.com/ja-jp/library/3ax346b7(VS.80).aspx ATL の概念] -- Active Template LibraryにおけるCOMのインスタンス生成方法・スレッド安全性・アパートメントの制御を特徴として分離、柔軟な組み合わせを実現させる▼
▲* [http://mergedoc.sourceforge.jp/ MergeDoc Project] Pleiades: Eclipse [http://www.eclipsewiki.net/eclipse/?%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%C6%FC%CB%DC%B8%EC%B2%BD%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3 プラグイン日本語化プラグイン]
▲* [http://msdn.microsoft.com/ja-jp/library/3ax346b7(VS.80).aspx ATL の概念] Active Template LibraryにおけるCOMのインスタンス生成方法・スレッド安全性・アパートメントの制御を特徴として分離、柔軟な組み合わせを実現させる
{{プログラミング言語の関連項目}}
{{DEFAULTSORT:あすへくとしこうふろくらみんく}}
[[Category:アスペクト指向プログラミング|*]]
|