谁知道iOS编程和数据源/委托范例会理解我。
在iOS中实现自定义视图的最佳做法:
MyView
UIView
类
MyView
有dataSource
字段。drawRect:
方法MyView
上询问dataSource
要绘制的项目。dataSource
对象符合所需的协议并实现所需的方法。实现UITableView
的方式非常相似,但我现在还没有谈论细胞。
您能告诉我使用MVC模式在Android中实现自定义视图(例如MyView
)的最佳做法吗?
答案 0 :(得分:4)
阅读所有答案以获得Android模式的圆形视图,因为我没有找到第一个非常有帮助。
已经针对阻止纯MVC实现的基本应用程序组件做出了设计决策,例如使用不允许层解耦的活动。
我发现以MVC方式查看Android应用程序会让人感到困惑,因为你最终会滥用活动和适配器等组件,试图调整它们以执行他们并不真正想要做的功能。
<强>更新强>
您需要使问题更具体一点,以获得一个好的答案,提供您需要的视图类型的详细信息(列表,网格,简单)以及您正在使用的模型类型(它们在哪里等待)
虽然这是相当主观的,但我在使用Android进行编程时发现了以下内容:
模特往往不可避免地变得愚蠢(anemic anti-pattern)。这可能是因为在很多情况下,您会发现适配器是以对象或集合的形式传递给视图中的内容,然后应该通过适配器对这些对象或集合执行操作,以便适配器知道它们何时出现已更改,可以相应地管理视图。
可以将适配器视为模型和视图之间的链接,如果您愿意,可以将控制器视为纯MVC控制器的许多优点。我发现自定义适配器可能是有效的(尽管如果从MVC角度查看它,最终会得到'fat controllers')。然后可以通过适配器方法调用任何调用内容更改的UI输入,这些方法将使用列表添加/删除或数据库的游标操作等编辑模型。
答案 1 :(得分:0)