android - 为不同 Activity 处理相同布局的最佳方法

标签 android design-patterns architecture

我一直在处理具有3 种类型 相关帐户的应用程序。我们创建一个单一布局,并根据您当前登录的帐户在其上查看/隐藏项目。

通过这种方法,我们有activities/fragments 做很多不同的事情,它们处理所有包含在if/else 检查中的情况等。随着项目的增长,维护这些类变得越来越困难。

比如说,如果我必须在某些情况下隐藏一个 View ,我必须查看许多 if/else 检查来隐藏一个按钮,因为如果我将它隐藏在一个地方,其他检查将使它再次可见,真的很难维护。

I am looking forward for best advises on this issue from the experts.

最佳答案

如果您正在为散布在代码中的大量 if/else 而苦恼,也许您应该在代码中使用多态性。

为 Activity 创建一个抽象类,然后针对每个特定类型专门化它。

使用工厂方法模式创建此层次结构的对象。该方法将使用参数来决定实例化哪个具体类,然后初始化返回的实例。

如果所有子类都有一个通用的算法但包含一些应由每个类实现的开放步骤,则使用模板方法模式。

如果您需要可以在运行时修改的多态代码,请使用状态/策略模式。

关于android - 为不同 Activity 处理相同布局的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43973267/

相关文章:

android - 使我的应用程序作为文件选择器对话框中的一个选项可用

java - 在远程图像上(用手指)绘制草图并保存。 (安卓)

c# - 大开关的替代品?

events - 具有多个 View 的 MVP : Sending events the right way

rest - 在所有情况下我都应该从 POST 返回实体吗?

Python项目架构

android - 我应该如何在 AndroidManifest.xml 中定义 launchMode - 使用 PhoneGap 和 JQM

java - 无法正常工作 AttachBaseContext

c++在具有不同 map 的新类中重复行为

c# - 关于用于促进 future 向另一个数据库系统过渡的正确模式的想法?