Android项目一般都是一个project,用到的独立的库的就是一个library,library用第三方的比较多,有时自己也会建library工程,把一些公用的东西放此工程下,实现一定程度上的分离。对一些较大的项目而言,为了解耦,使各个部分完全独立开发,甚至还有保密的需要,可以把整个项目拆分为多个模块,非主模块都是一个library项目,但这样各个项目间还是会互相依赖怎么办呢?这就是我要介绍的——用注解使各个模块间不再依赖。
其实就是依赖注入,注解是使用方式,本质是依赖接口不依赖实现。整个项目有个Interface的library,所有工程都依赖它,每个library都在interface下对应一个module,然后在自己工程里面去实现。
虽然原理不是很难,但整个框架还是很多的。先从使用部分分析了,源码可以到我的github去看。里面有实例和框架源码。
public class MainActivity extends Activity {
@Module(TestModule.MODULE_NAME)
private TestModule mTestModule;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ModuleOperator.register(new TestModuleRegister());
ModuleOperator.inject(this);
setContentView(R.layout.activity_ma