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が無い場合はこの書き方かなぁ〜