每项活动都必须有自己的模特吗

时间:2012-04-05 15:41:05

标签: java android

我刚刚阅读了MVC设计模式的描述,我有一些问题:我是Android开发人员(初级),我想让我的代码更清晰。那么,我应该使用MVC吗?每项活动都必须有自己的模特吗?它有什么好的教程吗?谢谢。

3 个答案:

答案 0 :(得分:3)

它已经实施了。 MVC pattern on Android

你不需要做任何事情,因为Android是预建的MVC

答案 1 :(得分:0)

MVC不仅仅是一种特定的做事方式(比如活动和模型之间的一对一关系)。我们的想法是将模型,视图和控制器分开,以便有意义

在Android中,多个活动可以引用单个模型(例如,包含可以搜索的房屋列表的活动,“编辑房屋”活动以及将其显示为坐标中的点的地图)。所以,回答你的第二个问题:不,他们不需要拥有自己的模型。

是的,你应该使用MVC,如果它有意义的话。只需将您的模型视为与实际应用程序不同的实体,并将您的活动视为模型的“用户”。

答案 2 :(得分:0)

在Android上,我发现MVP(模型,视图,演示者)模式与整个系统架构更直接相关。您的活动包括视图,MVP设置中的视图负责管理自己的事件并控制自己的外观。演示者充当模型和视图之间的促进者,在View请求时提供数据。根据您的需要,演示者可能是也可能不是服务。至于视图/模型比例,它实际上取决于你在任何一个点上试图在屏幕上显示的内容。当android只在手机上运行时,在Activities和你的模型之间几乎有一对一的关联是有意义的。现在,正常情况是在模型和片段之间建立一对一的关联,然后通过显示适当的片段来调整您的活动。

如果你想做MVC,但是,现在片段是工具箱中的工具,这比以前容易得多,特别是对于发展良好的事件系统(例如RoboGuice中包含的那个) - 想想您的视图片段和您作为控制器的活动 - 订阅您的视图,从模型中提供数据,以及处理到其他控制器的转换。

模式的选择取决于您的需求 - 如果一个人的应用程序是由服务驱动的,那么MVP可能是更好的方法。但是,如果应用程序只是数据库上的瘦客户端,那么MVC可能会更容易。这完全取决于你:)

MVP的

'开始'资源:http://www.jamespeckham.com/blog/10-11-21/MVP_on_Android.aspx