0

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

4

3 回答 3

3

它已经实施了。Android 上的 MVC 模式

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

于 2012-04-05T15:45:50.153 回答
0

MVC 是一种想法,而不是一种特定的做事方式(例如活动和模型之间的一对一关系)。这个想法是分离模型、视图和控制器,这样东西才有意义

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

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

于 2012-04-05T15:51:00.207 回答
0

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

但是,如果您想再次执行 MVC,现在片段是工具箱中的一种工具,这比以前容易得多,尤其是在开发良好的事件系统(例如 RoboGuice 中包含的事件系统)的情况下 - 将您的片段想象为您的视图和作为控制器的活动 - 对您的视图进行排序,从模型中为它​​们提供数据,并处理到其他控制器的转换。

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

MVP 的“入门”资源:http ://www.jamespeckham.com/blog/10-11-21/MVP_on_Android.aspx

于 2012-04-05T15:56:24.360 回答