我有一个symfony2项目,其中包括六个主要的实体类型。我正在使用Doctrine。symfony2 - 扩展基础实体类还是保持实体无关?
这些实体具有许多相同的字段,例如creatorId,Created,Updated,Status和Title。目前,每个实体都是单独定义的 - 所以当然,基本代码(以及db字段也是)有很多重复。
我学习OOP为我学习Symfony2的,所以我在这里摸索,但我的问题是这样的:
难道是考虑到保持各实体为一个自包含的类最佳做法?或者最好为共享属性创建一个新的基类,然后让其他实体扩展基础实体?
奖金问题:
如果它实际上是更好地建设从父类继承的实体,我隐约显现两个选项:
1)父类是完全映射主义实体,在数据库中有自己的表格,我们将称之为“哦”,我们称之为“节点”。因此,调用子实体将始终涉及Nodes表和Child内容类型实体表之间的其他连接。
2)父类是 - um - 抽象类(?),定义其他实体的共享属性,但没有实际的数据库存在。每个子实体都单独实现共享属性,以便DB结构与我当前的设置保持一致,但是在定义实体时可能(可能)重复代码少。
我主要是在寻找关于整个问题的建议 - 子实体扩展一个基本实体,或者只是单独的实体。不要期望任何人解释最好的实现,尽管提示是受欢迎的。
太棒了,非常感谢您对进一步学习的明确答案和宝贵方向。单表继承与类表继承正是我在Doctrinese中掌握的术语。 –