我可以将Application类用作Android中的MVC模型吗?

时间:2014-07-24 19:04:14

标签: android design-patterns model-view-controller

对不起。我是新手,所以我很有经验,但要遵循Android中的MVC设计模式,模型存储在哪里?我在应用程序中思考,因为它几乎具有非常广泛的范围,任何组件都可以从中获取。这是一种好的思维方式吗?

2 个答案:

答案 0 :(得分:0)

在我们这里的项目中,我们使用Application来保持它,但是以某种结构化模式。

首先,正如您所猜测的那样,模型是通过代表您的持久实体的类进行分层的,例如,如果你持久化客户端,你将拥有一个Client类,它将保持它的结构,所以我想当你说Model时,我想你会谈论将在你的应用程序生命周期中存在的状态完整模型对象的持久性。

我们使用android注释开始。我们使用单例类(使用@EBean注释(scope = Scope.singleton)),我们的Application对象具有对该单例的引用。 我们还有其他实体(单例),我们用作控制器,是唯一能够在某种程度上使用“模型单例”访问和操作的实体,我们的活动与控制器进行类似接口的通信,这些控制器可以访问“模型单例”上的持久数据,并通过它的界面为活动提供反馈。

答案 1 :(得分:0)

一般来说,使用ContentProvider甚至是单例类可能更好。在Application中保持状态的问题在于,如果您的应用的任何部分需要在不同的流程中运行,那么该流程将拥有自己的Application副本。在不同的进程中运行并不常见,但有几个原因可以做到。单例类不解决与另一个进程共享状态的问题,但另一个进程可能不关心应用程序的模型。如果模型位于Application中,则另一个进程会获得是否需要它的副本。