C++とDI
ほんとに思いついただけ・・・
DIObject型(メソッド無し)を作ってそれを継承すること。
設定ファイルは.cpp(w
基本はマクロで構築
DICON_START COMPONENT_START(className,componentName,instanceMode) PROPERTY(setterName,ArgClassName) PROPERTY_VAL(setterName,val) AOP_START(className) AOP_METHOD(methodName) AOP_METHOD(methodName) AOP_METHOD(methodName) AOP_START(className) AOP_METHOD(methodName) AOP_METHOD(methodName) AOP_END AOP_END COMPONENT_END DICON_END
こんな感じ
内部的には
diconなFactoryとcomponentのproxyが作られて
factoryのnewの時にComponentをnewしていく
後からpuropertyを探して設定していって
AOPはテンプレートメソッドorテンプレートクラスで処理
xmlに書いて、コンパイル前にC++のコードに変換ってのもちょっと考えた(笑)
(追記)
そういえばC++ってinner classあったっけ・・・すっかり仕様を忘れてる・・・orz
あ〜あのころが懐かしいなぁ〜〜
COMPONENT_START(className,componentName,instanceMode) //略 COMPONENT_END DICON_START ADD_COMPONENT(className,componentName) DICON_END
innser classが無い場合はこの書き方かなぁ〜