2004年07月29日

アスペクト指向

Posted by nene2001 at 10:23 / Tag(Edit): / 0 Comments: Post / View / 1 TrackBack このエントリーを含むはてなブックマーク

最近メールにアスペクト指向やAspectJのセミナーの案内が飛び込んできたんで、ちょっと調べてみてた。
そういうものがある事自体は前から知ってたけど、どういうものかはよく調べてなかったんで、セミナー開くレベルの実装があるならちょっと調べてみるかと。

で、Wikipediaの説明あたりでのWeb上での説明見てると、「構成要素間をクロスカッティングするような機能」「オブジェクト指向とは直交する概念」とかと書いてあったので、「構成要素」っていうのを「クラス」と捉えてしまって、多重継承的な概念なのかな、と始めは思てシマタ。
なんか、普通の哺乳類と、オーストラリアの哺乳類(有袋類)は系統樹が違う訳だけど、違う系統樹の中で食物連鎖の中での似た役割(肉食獣とか草食獣とか)があるわけで、その役割的なものを系統樹の流れとは横断的に加えると、オオカミに対してフクロオオカミ、パンダに対してコアラを生成できるとか、そういう感じかな、でもそれなら多重継承と何が違うの、という感じで勘違いしてマスタ。

『AspectJによるアスペクト指向プログラミング入門』
powered by
amazlet
長瀬 嘉秀 天野 まさひろ 鷲崎 弘宜 立堀 道昭
ソフトバンクパブリッシング (2004/04/16)
売り上げランキング: 11,716
通常24時間以内に発送します。
おすすめ度の平均:
AspectJの入門書、リファレンスとしておすすめ
待ちに待ったAspectJに関する日本語の本
でも、上の本買って読んでみたら、どうもそういうアレではなさそう。 「構成要素間をクロスカッティングするような機能」の「構成要素」とはそのままの意味の「構成要素」、つまりクラスの「属性」や「メソッド」を横断しての機能を統合する発想のようです。 たとえば、どのメソッドでもメソッドの入りと出にログを吐く機能をつけるというのは、(俺がやっているかどうかは別として)よくある要件ですが、今までは全てのメソッドの始めと最後に同じコードを書くのが当たり前だったわけです。 そうなると、例えばログの吐き出し方が変わったりしたら、メソッド全ての記述を間違いなく書き直すような作業が発生しますし、書き直し忘れるとバグが発生、という事態に陥るわけです。 それを回避する概念として、メソッド横断する処理を「アスペクト」として別部分で定義し、それを提供すべき各メソッドに適用しようというのがアスペクト指向のようです。 そうすると、ログの出し方が変わっても、アスペクト自体を変更するだけで全体が変わります。 別にログ吐きに限らずそういう要件はままあるわけですが、そういう辺りを解決するプログラミング技術のようですね。

基本的には「オブジェクト指向に換わる!」ってレベルのもんじゃなくて、オブジェクト指向でミスが出やすくなる部分の問題点をカバーしてより強力にする、という概念ですね。
AspectJでの実装も、アスペクトはアスペクトのまま動作する、というのではなく、実際にコンパイルする時は、コンパイラが各メソッドにアスペクトを書き込んでいってくれる、という実装のようですし。

調べてみると、Perlでの実装もあるみたいです。
ちょっと遊んでみようかな。

しかしオブジェクト指向は、あまりにも概念が広すぎて、社内でも非技術系の人達と話してても、「オブジェクト」「オブジェクト」って何がオブジェクトなのよ、そんな事言っちゃうと世の中全部オブジェクトだろ、って言いたくなっちゃう事も多かったんですが、
次のパラダイムはプログラムで実現しようとする機能の概念イメージとしてならば「エージェント指向」、純粋なプログラム手法上の技術ならば「アスペクト指向」、といった感じで、適用するフィールド毎に名前が変わってくれてるみたいなんで、議論に紛れがなくなりそうでいいかな。
と同時に、所詮?エージェントは自律判断・自律拡張するオブジェクトだし、アスペクト指向はオブジェクト指向を補完するものでしかないし、そう考えると「オブジェクト」発想の偉大さも感じますね。

Posted with ecto

Related query words in Google & Yahoo
Related Books from Amazon
Trackback to this entry
TrackBack URL :
Trackbacks
【書評】アスベスト指向入門
Excerpt: 資料写真: アスペクト指向入門 →この商品をAmazonでチェック 「オブジェクト指向の次はアスベスト指向」 これが本書の訴えるテーマであ...
Weblog: bogusnews
Tracked: 2006年02月15日 12:41
Comments
コメントはありません。
Post a comment












Remember personal info? 
2004年07月
Su Mo Tu We Th Fr Sa
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

About Me

Navigation

Search
Google
Web
kokogiko.net
Archives
Recent Entries
Recent Comments
Recent Trackbacks
Generic Viagra(Generic Viagra)
Google MapsライセンスとgoSVGによるオープンソースGIS生き残り戦略
Adobe もクラウドをはじめた!各社のクラウドサービスの特徴は?(ラボブログ)
Amazon EC2のランニングコストはそんなに安くなかった
「ここギコ!」の人が涙も出ないような状況になっていることについて(僕だけが幸せになればいいのに。)
人員がクラスタ化できている職場と言うのはうらやましい そろそろ限界です
GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(ここギコ!)
GoogleMapsと連動したいなら幾何データ型よりPostGIS
GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(ここギコ!)
「ジオメディアサミット関西」が開催されます。
GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(ここギコ!)
MySQL4.1以降での空間情報の扱い方
なんか天から2兆円降ってくるらしいので みんな思い思いのところに募金なり寄付するのはどうか(ここギコ!)
「冷静に」「熱く」「マジ反論」でこの内容はある意味すごい
「亡びつつある日本の言語」と「日本語」、そして「普遍語」につらつら思うこと(ここギコ!)
国連人権委、アイヌ・琉球文化の保護を日本に勧告
「亡びつつある日本の言語」と「日本語」、そして「普遍語」につらつら思うこと(ここギコ!)
政治と祭祀が不可分と考えるなら、全ての祭祀を引き受けるのが筋
「亡びつつある日本の言語」と「日本語」、そして「普遍語」につらつら思うこと(ここギコ!)
Googleさんの技術でアイヌ語訳ができないだろうか
Hatena bookmarked
My del.icio.us

Banners

Syndication
Powered by
Get it!!