2012-04-05 53 views
0

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

+0

相反MVC的,Android应用程序应该实现MVP或松耦合。 你可以在android应用程序中找到mvp的例子和使用优势@http://kjthumar.blogspot.com/ – 2017-03-18 04:55:20

回答

0

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

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

是的,你应该使用MVC,如果它是有道理的。只要将您的模型视为与实际应用程序分开的实体,并将您的模型作为模型的“用户”来使用即可。

0

在Android上,我发现MVP(Model,View,Presenter)模式与整个系统架构更直接相关。你的活动包括视图,这在MVP设置中负责管理他们自己的事件并控制他们自己的外表。主持人作为模型和视图之间的协调者,在视图请求时提供数据。根据您的需要,演示者可能会或可能不会提供服务。至于视图/模型比率,这取决于您在任何一点上试图在屏幕上显示的内容。当Android仅在手机上运行时,在活动和模型之间具有非常多的一对一关联是有意义的。现在,正常情况是在你的模型和你的片段之间有一对一的关系,然后你的活动通过展示适当的片段来聚集。

如果你想做MVC,虽然现在碎片是工具箱中的一个工具,但它比以前更容易,尤其是在开发完成的事件系统(比如RoboGuice中包含的系统)时 - 想想作为视图的片段,以及作为控制器的活动 - 订购视图,从模型中提供数据,并处理到其他控制器的转换。

模式的选择取决于您的需求 - 如果应用程序要受到服务驱动,MVP可能是更好的选择。但是,如果应用程序仅仅是数据库上的瘦客户端,那么MVC可能会更容易。这一切都取决于你:)

“开始使用”资源为MVP:http://www.jamespeckham.com/blog/10-11-21/MVP_on_Android.aspx

相关问题