アスペクト指向なのかー

http://d.hatena.ne.jp/kataho/20050520
ここでやりたいと思っていた表現方法がアスペクト指向なのだなとアスペクト指向のコンセプトをちょっと読んでみて気が付いたのでありました。はい。今まで全然知らなかったです。

この日記を書いた後もちょくちょく例えば「一つのピアがシャウトを発信したら、それが全部のピアへ届く」みたいな「現象」を切り口にプログラミングができないか考えていたのだけども、例えばオブジェクト指向で設計されているシステム内の一つのオブジェクトは、必ずそいつを生成して参照を持っているオブジェクトが必要なのであって、そういう親子関係をどんどん辿って最終的にはシステムで唯一存在する、オブジェクトのピラミッドの頂点に位置するアプリケーション全体を表すオブジェクトに行き着くわけです。

同様に、システム全体を「現象」の集合として見たときも、「現象」という切り口から書かれたロジックには必ずそれを部分として持つ親「現象」が必要で、その関係をずっと辿って最後にはアプリケーションが起動して終了するまで、というこれまたピラミッドの頂点にあたる「現象」に行き着く形にならざるを得ないだろうと予測していたのです。

システム全体をオブジェクトの集合として見る見方と、「現象」の集合として見る見方と、これを混在させると、お互いのピラミッドの頂点がぶつかりあってしまってしまって存在できないので、このような2通りの見方を一つアプリケーションプロジェクトの中に混在させるのは無理だろうと考えてあきらめていました。

ところがアスペクト指向は、自分たちだけで構造物を作るための機能は用意されておらず、オブジェクト指向による構造を前提に、そこへ全く別次元から断片的に覆い被さる形で記述されるようです。これはうまいと思いました。