我正在进行一个Android项目,想了解构建Android应用的良好架构的任何建议。
我想使用Roboguice进行依赖注入,并且一直在阅读有关MVVM模式或MVC模式的文章(Android MVVM设计模式示例)。
另外,我知道Roboguice具有非常酷的基于上下文的事件触发和处理功能,这可以非常易于测试,因为代码是解耦的。
有没有任何关于可工作的设计模式的建议?您曾经使用或开发过可测试和可扩展的架构吗?
我正在进行一个Android项目,想了解构建Android应用的良好架构的任何建议。
我想使用Roboguice进行依赖注入,并且一直在阅读有关MVVM模式或MVC模式的文章(Android MVVM设计模式示例)。
另外,我知道Roboguice具有非常酷的基于上下文的事件触发和处理功能,这可以非常易于测试,因为代码是解耦的。
有没有任何关于可工作的设计模式的建议?您曾经使用或开发过可测试和可扩展的架构吗?
Android平台提供了一套通用的设计模式,并且与Web应用相比,由于硬件资源有限,直接使用这些模式在生产代码中通常更好。还有其他一些框架“包装”了基础平台;如果您有特定目的(或者可能是用于原型/实验),则值得研究,但是为了获得最佳支持水平,通常最好坚持使用标准组件。
这是在解决UI方案时的一个很好的资源:http://www.androidpatterns.com/
特别是对于DI:有一个适用于Android的Spring框架,我已经试用过它,看起来非常有前途。您已经提到了Roboguice作为另一种选择。然而,为了避免性能和库开销,我仍然发现编写一个简单的反射类来注册和注入依赖项在我的自己的代码内部是最容易的方法。类似于这种方法,但我通常会将注入代码移动到单独的单例中,并从那里引用它。
根据我的经验,大多数第三方提供的功能现在尚不够成熟,而且实际上并没有比基础平台提供的更多。但它们正在不断发展,所以一定要不时地试验一下那些知名的框架。