通过使用Fragments作为视图和Activity作为Controller,用于Android应用程序开发的MVC设计模式

man*_*usg 16 android

我最近正在阅读Fragments(虽然我的应用程序中没有使用它),并了解到它可用于手机应用程序开发.

我正在考虑使用Fragments来实现MVC(模型 - 视图 - 控制器)设计模式.许多人认为android开发默认符合MVC.但我确实看到活动很像视图,当另一个活动正在/将要启动时,肯定缺少控制器.所以我想将"Fragments"用作"视图",将一个"Activity"作为"Controller",并在需要时交换/添加/删除片段.

所以我的基本方法是这样的.

1)用户与用户界面(片段)交互.

2)控制器(Activity)处理来自Fragments的事件并将其传递给模型(Backendthread/Service).

3)模型(Backendthread/Service)通知控制器模型状态变化.

4)控制器(Activity)通知UserInterface(Fragments),它通知用户.

我的方法是仪式还是不必要的开销,或者我对片段的看法是错误的?

请澄清我.

Com*_*are 22

恕我直言,片段是控制器.片段的小部件篮子代表视图.活动是一个编排层,确定在给定环境中需要哪些片段(及其小部件)(例如,一个在电话上,两个在平板电脑上),否则具有有限的业务逻辑.

话虽这么说,Android和像MVC这样的模式并不一定会在一起.我不认为谷歌的目的是创建一个纯粹的MVC框架.

  • iOS开发人员片段的+1更有意义,因为它们更像是ViewControllers.但是活动是不同的...... (2认同)