根据用户角色使用不同的逻辑制作单个应用程序的最佳方法是什么?

时间:2019-03-22 21:15:13

标签: java android kotlin

假设我们有两个用户角色:

  1. 阅读器
  2. 作家

现在,我需要允许用户创建角色为writer的帖子。 Reader角色只能读取并标记为已读。它们具有几乎相同逻辑的相同入口点。但是如何根据用户角色区分逻辑?

我认为再创建一个活动将导致代码重复。但是if/else的使用也会使其变得复杂

在单个应用程序中处理不同用户角色的最佳实践是什么?

1 个答案:

答案 0 :(得分:2)

我认为,我建议进行另一项活动。

在各处使用if / else逻辑确实会使您的代码更加混乱和复杂。例如,如果您突然不得不引入像“编辑器”这样的新角色,这还会使您的代码更加麻烦,并且将来很难更改。遍历所有代码并为所有受影响的方法修改if / else逻辑以包含新角色是很愚蠢的。

最好创建一个新的Activity。但是,这并不意味着会有代码重复。请记住,“作家”和“读者”实际上共享许多代码。

我不了解您的具体情况,但我认为“作家”具有“读者”的所有功能,但还有更多功能。

因此,您可以为'Reader'创建一个Activity,然后为'Writer'扩展该Activity,并在此WriterActivity中仅包含特定于'Writer'的代码。

或者,您始终可以自由地创建仅具有'Writer'和'Reader'共同特征的基础Activity,然后创建从该基础扩展的ReaderActivity或WriterActivity。

基本上,我建议使用另一个Activity,而您不必担心会有额外的Activity导致代码重复。这主要是因为Java中继承概念的部分原因是为了避免代码重复并减少冗余。

相关问题