现在 DI Framework 采用几种方式简化你提到的问题
1. 依型态、名称等,去自动注入 instance,例如 Spring, Groovy
2. 用目录规则或是类别名称做自动注入
不好意思,对 java 比较熟,只能举 java 类的例子
※ 引述《lovesnake (LoyalDog)》之铭言:
: 使用语言 : C++11
: 翻了一个星期关于IoC的东西,还是搞不太懂。
: 我的理解如下 :
: IoC : 让物件相依于接口而不相依于物件
: DI Framework : 解决上述缺点
: 问题来了...
: 看了几个DI Framework
: Boost的Injector要User自己写
: Unity的Configuration也是User自己写...
: 这样使用者还是不知道要注入哪个Imp...
: 于是头很痛,怎么样让用了IoC后的API用起来跟没有一样呢?
: 让使用者完全不用烦恼到底要注入哪个Imp呢?
: 目前比较能接受的事Factory,可还是觉得很奇怪,有点不太直觉
: (Factory.GetImp("normal"); Factory.GetImp("testing");) ??
: 请指教 <(_ _)>