我正在开发一个 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 作为另一种选择。然而,为了避免性能和库开销,我仍然发现最简单的方法是编写一个简单的基于反射的类,在我自己的代码中注册和注入依赖项。类似于这种方法,除了我通常将注入代码移动到一个单独的单例中并从那里引用它。
以我的经验,大多数第三方产品现在还不够成熟,无法依赖,并且除了基础平台提供的东西之外,并没有真正为您提供太多帮助。但是,它们在不断进步,因此请务必不时尝试大牌。