2004-02-01から1ヶ月間の記事一覧

Natural (Pure?) Classes, OO Framework-aware Classes or AO Framework-aware Classes

英語の怪しさは、さておき・・・ どうなっていればフレームワークでどうなっていなければフレームワークじゃないかの境界線は分からないけど・・・オブジェクト指向フレームワークの開発では、拡張できるようにクラスをそのようにしたりする、と思う。GoF の…

Decomposing Aspects

's' いるんかなあ? それはさておき・・・ Caesar によるデザインパターンの実装 - Abstract Factory http://www.ncfreak.com/asato/doc/caesar_dp/af.html#impl2 の「議論2」書いていて分かったことだけど、アスペクトの分割は、なんとかできるみたい。ただ…

AOP の有効性と AOP が解決する問題

タイトルがめずらしく日本語だけど、これは、英語での書き方がわからんかったからだ! ・・・とはかはさておき・・・ AOP が有効である、といわれるようなケースの問題を扱っているとき、その問題は、どのような問題なのかどうか。一般的に、AOP が解決する…

Open Classes and Aspect-Oriented Software Reuse or Weaving-based Software Reuse or Load time-based Software Reuse or Aspect-Oriented Software Composition?

いつものとおり、タイトルの英語が怪しいけど・・・ Open Class と階層拡張 http://www.ncfreak.com/asato/doc/openclass.html というドキュメントを書いていて気づいた or AspectJ を使い始めていたころから気づいていたことだけど、Open Class (or AspectJ…

AOP without Aspectual Polymorphism

デザインパターンの実装の視点から見た AspectJ と Caesar の比較 - Abstract Factory http://www.ncfreak.com/asato/doc/aspectj_caesar_dp/af.html を書いていて思ったことだけど、Aspectual Polymorphism ができる Caesar とできない AspectJ では、かな…

Implicit Aspects and Explicit Aspects

AspectJ を使い始めていたころの疑問の一つは、アスペクトがアプリケーションのコードの側に現れてもいいのかどうかということ。(特に AspectJ における)ロギングのようなアスペクトは、暗黙なアスペクトとして実装されて、実際のコードのには、現れる必要…

Large Scale Crosscutting Concerns and How to decompose it.

またもや怪しい英語だけど・・・それはさておき・・・ Caesar によるデザインパターンの実装 - Abstract Factory (http://www.ncfreak.com/asato/doc/caesar_dp/af.html#impl2) を書いてて感じたことだけど、大きな crosscutting concerns (例でいえばゲー…

Change Patterns or Evolution Patterns

リファクタリングとも関連するけど、調べたいことの候補に、Change Patterns あるいは Evolution Patterns ってのがある(僕が勝手に付けただけ。他にも同様のことがあるかもしれない)。具体的にいうと、プログラムに関する特定の要件や変更に対して、どの…

Factory Method and Crosscutting Nature

またまた、なんで Nature とかカッコつけて英語にしてんの? というのはもっともだけど、それはさておき、、、Abstract Factory を実装していたときにも気が付いたことだけど、Factory Method も Crosscutting な Concern に影響されるものなのだろうか。 ht…

Caesar + Decorator

deploy に、配列を指定できのかな、と。 deploy( decorators ) { // Decorator[] component.operation(); }ちょっと思っただけ。良いかも悪いかも不明。もしできたとしても、Decorator の実装にどれだけ影響あるかも不明。

Abstract Factory and Crosscutting Nature

Nature の使い方間違ってるかもしれんけど・・・それはさておき・・・、Caesar で Abstract Factory のサンプル 書いていて気が付いたんだけど、Abstract Factory を適用したくなる場合って、本質的に crosscutting concern 関連なんだろうか。少なくとも、…

Virtual Class Factory Method vs. Virtual Method Factory Method

Virtual Class による Factory Method の実装と通常の GoF Factory Method では、どのような違いがあるんだろうか。 一つの違いは、もし、デフォルトの Product がないのであれば、Virtual Class での実装は無理、ということ。なぜなら new で interface と…

Caesar vs. AspectJ

Caesar (http://caesarj.org/) ちょっぴり使ってみたけど、どーだろう? 色々良さそうな雰囲気は漂ってる。まだ、全然 Caesar の扱いに慣れてないから、わからないけど、現時点での AspectJ との比較の感想は、AspectJ の方が色々無茶なことができそう、と、…

CAESAR によるデザインパターンの実装

CAESAR (http://caesarj.org/) がようやくリリースされた、ということで、CAESAR によるデザインパターンの実装のネタに取り掛かりまする。 なんでリリースされた、ってしってんの? http://caesarj.org/ を定期的にチェックしてたから(アンテナ使って)。

アスペクトのインスタンス化とインスタンスレベルアスペクトウィービング

AOP

結局、別のドキュメントにちゃんと書くことにしますた。 アスペクトのインスタンス化とインスタンスレベルアスペクトウィービング http://www.ncfreak.com/asato/doc/aspect-instance.html

(アスペクトのインスタンス化 != インスタンスレベルアドバイスウィービング) ???

*** 書きかけ *** ふむ。インスタンスレベルでアドバイスをウィービングしたい動機は、直感的にわかるけど、アスペクトをインスタンス化する動機は、何だろう? いや、アスペクトをインスタンス化してはいけない、という意味じゃなくて、なんか、こう、違和…

TDD と使用者側の視点

TDD (or テストファースト) で学んだことの一つは、使用者側の視点から見ることは、作者側の視点から見る(考える)よりも、多くのことが感じられるってこと。あるいは、使用者側と作者側のギャップの大きさ。または、使用者側から考えることの、スムーズさ…

Mixin

自分で書いた「AspectJ Tips: Mixin」ってのを読んでたんだけど(自分で考えたのにもかかわらず、ソースだけだとわけわからんな)、javassist 使って動的にメソッドの追加とかやりゃいいんかなって思った。できるんかな? できそうな気もするけど。

Genetic Programming + Feature Extraction

Genetic Programming 使ってパターン認識(or ニューラルネットワーク)における特徴抽出ってできるんかな? 誰かすでにやってるかな? GP 使ったことないから詳しくは知らんけど。