我一直在处理具有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/