Android UI开发是否适合特定的设计模式?

ben*_*rre 8 model-view-controller mvp android design-patterns

Android平台是否适合特定风格的UI编程,如MVC或MVP?我的大部分UI体验都是在非常旧的嵌入式设备上使用意大利面条代码,或者在带有MVP的GWT中使用意大利面条代码,所以我不知道从哪里开始.

Jan*_*usz 14

MVC模式或多或少预先构建到android中.

你有三层包括:

  • 模型您的数据类,内容提供商等包装所有数据.
  • 控制器将您的所有活动视为控制器类.不要在它们中做任何看起来像业务逻辑或数据持久性的事情.只需对模型或用户的事件做出反应,然后将它们转发到正确的图层.
  • 视图通常将活动称为视图,因为它是最接近视图的Java代码.但在我看来,Android中的视图层主要是用xml定义的.您可以在xml中定义按钮,图像,状态更改等,然后通过"活动"将其与应用程序连接.

有一些简单的规则要遵循这些层的基本分离.

  • 如果没有其他方法可以实现某些功能,请在xml中定义尽可能多的实例化视图,不要从代码中更改视图的图形状态,例如,如果按钮被禁用,则不要更改按钮的背景,或者单击按钮时字体的颜色,通过有状态的drawable和xml中的选择器完成所有这些操作.
  • 不要在活动类中进行任何数据保存或逻辑操作.为此目的调用额外的模型类.这将使您的活动干净简洁
  • 如果您想要更改数据,请考虑通过完整的控制器更改模型 - >模型通知控制器有关更改 - >控制器更改UI周期而不是让控制器直接更改模型和UI,因为模式的其他观察者可能不是收到通知.


Ant*_*ney 2

我不知道 Android 是否适合 UI 开发本身的特定设计模式,如果有帮助的话,您当然可以使用特定的模式。

如有疑问,您可以查看标准用户界面指南,看看特定交互的指南是什么。