我想为我的Android应用程序创建模块化的架构,现在我寻找到匕首DI库。 这真是真棒的工具,但我不想滥用它和现在我有这样许多问题:
- 我应该穿得一切(如活动或片段,或事件单独查看)成模块或应用程序的唯一的常用零件(喜欢与登录,数据层的数据查询服务)?
- 与Android注解更好地利用。 Android的注解是我面临的另一个酷库,但它似乎与UI层制作容易伊林与意见,片段和删除一些样板代码打出好成绩。 但是,如何利己它匕首玩?
如果您在使用有开源项目的一个很好的例子DI请参考我。 我真的要遵循最佳实践。
依赖注入通常用于添加一个分离层,使事情甚至更少耦合。 对于Android的我推荐的库Dagger2。
我真的建议你检查这个样板 ,因为它使用Dagger2完全基于DI。
目前由锅炉板处理的依赖关系如下:
- 数据库的依赖:封装了所有的数据库操作。
- 共享偏好依赖性:与共享偏好交易。
- 本地文件的依赖性:与保存的文件的交易。
- 分析依赖性:占地面积报告事件到您的分析后端的所有操作(GA,段,FB,乱舞..)
- 登录依赖性:封装了所有相关的日志记录到控制台的操作
- API的依赖:封装了所有API相关的操作
依赖注入的力量来真的很方便尤其是用于测试,因为你可以轻松地切换你的依赖在测试环境中的虚拟依赖关系。
文章来源: What is the good example of using DI (Dagger) in terms of good architecture?