我的应用程序中的用户将具有两个不同的角色(教师和学生)。到目前为止,我已经为一个用户角色(教师)实现了所有操作,现在我将开始为另一角色构建组件。许多组件将重叠,但是它们将需要提供相对不同的功能。我想知道如何构造文件夹。
例如,我有一个名为Assignment的组件,它具有以下文件夹结构:
=> components
=> Assignment
=> AssignmentList.tsx
=> AssignmentCard.tsx
此组件将列出当前教师的课程中的所有作业。
我还需要构建Assignment
组件,以便学生根据当前注册的课程列出她/他可以使用的作业。也许我可以使用AssignmentCard.tsx
组件,因为它只显示给定的分配信息。
我想知道是否应该创建一个名为Assignment_Student
的新文件夹,还是应该在Assignment
文件夹中为每个角色创建两个子文件夹:Student
和Instructor (and maybe folder called
Common {{ 1}} AssignmentCard.tsx`。
有什么建议吗?
答案 0 :(得分:1)
让我们展望未来。目前,我们正在努力为学生和教师进行结构设计。让我们包括大约5个假设角色,例如主持人,管理员,朋友(不是一个很好的例子,但您会明白)。
现在我们可以更好地回答我们的问题。从我的角度来看,我们有以下几种选择,各有其优缺点。
结构1
=> components
=> shared
=> Assignment
=> Student
=> Instructor
=> Another hypothetical role
我相信这会很好地隔离角色及其功能。但是我们面临着两个层次要处理。我们可以在第二个选项中进行改进。
结构2
=> components
=> shared
=> StudentAssignment
=> InstructorAssignment
=> AnotherHypotheticalAssignment
这可能比第一种更干净,我们现在只有一个级别的组件可供选择。更好的是,如果需要将Assignment
专用的任何共享组件用在另一个地方,例如ExtraCurricular
,我们就不必费劲了,我们可以简单地从共享,这实际上是一个共享组件。