オブジェクト指向プログラミング、アスペクト指向プログラミングときて、
どうも、将来的には、「文脈指向プログラミング」と来そうな気配?
オブジェクト指向プログラミングは、
クラスやオブジェクトの構造が決まっているとき、
機能要件を表現するのには、うまくいった。
しかし、速度低下のため、DBアクセス手法を変えたいとか、
セキュリティが弱いので、セキュリティをいっせいに高めたいといった
非機能要件を考えた場合、
その該当箇所は、クラスのメソッド内にさまざまに、「横断的に」散らばっているので
オブジェクト指向で行う場合困難なこともある。
このようなときに、「横断的関心事」をバサッと切り出し、入れ替えてしまう
のが、アスペクト指向。
オブジェクト指向には、もうひとつ問題がある。
クラスやオブジェクトの構造はあらかじめ決まっている。
しかし、現実には、できるだけ、動的に決めたい。
(そのために依存性の注入などがある)
もっといえば、文脈に応じて、振る舞いを変えて欲しいわけだ。
車で、「進め」という命令が来たとき、
目の前に何もなければ進んで欲しいし、
人がいれば、「止まって」欲しい(同じ進めでも)
こんな、状況に応じた振る舞いができるのが、
「文脈指向プログラミング」
らしい(はっきりわかっていない)。
どうも、このへん
http://www.graco.c.u-tokyo.ac.jp/~masuhara/papers/jssst2011-aotani.pdf
に参考になる論文があるらしいよ・・・
どうも、将来的には、「文脈指向プログラミング」と来そうな気配?
オブジェクト指向プログラミングは、
クラスやオブジェクトの構造が決まっているとき、
機能要件を表現するのには、うまくいった。
しかし、速度低下のため、DBアクセス手法を変えたいとか、
セキュリティが弱いので、セキュリティをいっせいに高めたいといった
非機能要件を考えた場合、
その該当箇所は、クラスのメソッド内にさまざまに、「横断的に」散らばっているので
オブジェクト指向で行う場合困難なこともある。
このようなときに、「横断的関心事」をバサッと切り出し、入れ替えてしまう
のが、アスペクト指向。
オブジェクト指向には、もうひとつ問題がある。
クラスやオブジェクトの構造はあらかじめ決まっている。
しかし、現実には、できるだけ、動的に決めたい。
(そのために依存性の注入などがある)
もっといえば、文脈に応じて、振る舞いを変えて欲しいわけだ。
車で、「進め」という命令が来たとき、
目の前に何もなければ進んで欲しいし、
人がいれば、「止まって」欲しい(同じ進めでも)
こんな、状況に応じた振る舞いができるのが、
「文脈指向プログラミング」
らしい(はっきりわかっていない)。
どうも、このへん
http://www.graco.c.u-tokyo.ac.jp/~masuhara/papers/jssst2011-aotani.pdf
に参考になる論文があるらしいよ・・・