【发布时间】:2021-03-13 20:01:21
【问题描述】:
我在 Flutter + Firebase 中开发了我的第一个“复杂”应用程序,其中应用程序中有 4 个不同的角色。来宾用户、Plus 用户、Pro 用户和 Admin 用户。不同的用户组可以访问应用程序中的不同功能(显示不同的小部件等)。
我看到了两种可能的实现方式。
1:不同用户组的不同屏幕/视图。 Home_Guest、Home_Plus、Home_Pro 和 Home_Admin 并根据用户滚动加载屏幕(应用程序中有超过 10 个不同的屏幕/视图,所以如果我走这条路线,它将是不同的 40 多个屏幕/视图)。
2:根据用户组加载不同小部件的一个屏幕/视图。 Home:如果Guest加载A,如果Plus加载A+B,如果Pro加载A+B+C,如果Admin加载A+B+C+D等......
优点/缺点:
1:更多代码和一些代码重复
2:代码少,代码不重复,逻辑更复杂
我知道不同的开发人员可能有不同的意见,但我试图找到关于该主题的文章、书籍等,但一无所获。 我要问的是,我是否可以遵循一种(或多种)“最佳实践”或“众所周知的”模式?还有任何描述这种模式的书籍、文章等?
【问题讨论】:
-
我的问题可以用事实来回答!是否有一种(或多种)“最佳实践”或“众所周知的”设计模式来解决我的问题??