1

由于我们不仅可以在实体中使用继承,还可以在表单中使用继承,我设计了以下结构:

实体

  • 班级人
  • 班教授扩展人
  • 学生类扩展人

表单类型

  • 类 PersonType
  • 类 ProfessorType 扩展 PersonType
  • StudentType 类扩展了 PersonType

现在,我的问题出在控制器上。我不知道是否应该对所有子实体使用 person 控制器,或者是否应该为每个子类创建一个特定的控制器。

使用通用控制器对实体之间的共同逻辑有很大帮助,而且每次创建新子类时都不需要添加整个控制器,但另一方面,处理每个子类的特定数据很复杂一。例如,如果我加载一个“人”,然后我想编辑或显示它,我需要知道它对应的表单类型和模板,但这在那个级别是不可能的。我应该使用嵌套的“if”来获取人的类,从而创建正确的表单类型和模板(硬代码)。这不会是“动态的”。

也许我可以使用不同的路线解决它,但我想知道这个问题的最佳(或至少是一个好的)解决方案是什么?我也应该在控制器中使用继承吗?如何?

4

1 回答 1

2

我们需要[更多] 了解您的申请。

无论如何,这实际上取决于控制器的目的。您可以定义一个共同的祖先控制器,然后是扩展前者的子控制器,您将在其中重新定义您需要的方法。

当然,您需要为每个操作指定特定的路线。

于 2012-11-14T17:34:03.590 回答