Android,MVC,谁应该宣布错误

时间:2015-08-04 03:59:00

标签: android model-view-controller

我有一个表单,要求用户输入,然后检查是否填写了所有必填字段,然后从表单中保存数据。 所以,在MVC中,控制器(我有一个单独的控制器类,不使用Fragment或Activity作为控制器)将检查表单的输入,如果一切正常,则创建模型并传递给数据层。否则,我想将有问题的文本视图的颜色设置为红色,同时抛出一个祝酒词。现在我有了选择:

  • 返回int或枚举结果,以便片段知道哪个字段有麻烦,片段将处理公告
  • 让控制器处理公告,这意味着我必须将Context传递给控制器

在良好的架构方面,哪种方式更清洁?或者你有更好的方法吗?

由于

1 个答案:

答案 0 :(得分:0)

Fragment是视图控制器,它们负责创建UI,因此我将在Fragment内部实现所有这些验证逻辑。所有这些字段验证都与UI直接相关,因为您要突出显示有错误的字段。

如果您想使用不是Fragment的单独控制器,最好将int值返回Fragment并让它处理UI更改。

将UI逻辑从FragmentActivity移到某处并不是一个好主意,因为为什么你需要Fragment呢?它只会将UI回调委托给您的控制器?这听起来像是不必要的并发症。

我将UI逻辑移出FragmentActivity的唯一情况是代码应在多个UI组件之间共享。所以在这种情况下它是有道理的,因为你可以避免代码重复。