42

我正在开发一个 Android 项目,我想知道关于什么是构建 android 应用程序的良好架构的任何建议。

我想使用 Roboguice 使用依赖注入,并且我一直在阅读 MVVM 模式或 MVC 模式(Android MVVM 设计模式示例)。

我也知道 roboguice 有一个非常酷的基于上下文的事件的引发和处理功能,当代码被解耦时,它可能非常可测试。

关于工作设计模式的任何建议?您曾使用或开发过可测试且可扩展的架构?

4

1 回答 1

18

Android 平台提供了一组通用的设计模式,并且与 Web 应用程序相比,您获得的硬件资源有限,通常最好还是坚持直接在生产代码中使用这些模式。还有其他一些框架可以“包装”基础平台。如果您有特定目的(或者可能用于原型设计/实验),这些都值得研究,但为了获得最佳支持水平,您通常最好坚持使用标准组件。

在处理 UI 解决方案时,这是一个很好的资源:http ://www.androidpatterns.com/

专门针对 DI:有一个适用于 Android 的 Spring 框架,我玩过它,它看起来很有前途。您已经提到 Roboguice 作为另一种选择。然而,为了避免性能和库开销,我仍然发现最简单的方法是编写一个简单的基于反射的类,在我自己的代码中注册和注入依赖项。类似于这种方法,除了我通常将注入代码移动到一个单独的单例中并从那里引用它。

以我的经验,大多数第三方产品现在还不够成熟,无法依赖,并且除了基础平台提供的东西之外,并没有真正为您提供太多帮助。但是,它们在不断进步,因此请务必不时尝试大牌。

于 2011-06-13T08:55:37.817 回答