在Symfony 2.1中处理具有继承的实体的业务逻辑

时间:2012-11-13 16:12:20

标签: inheritance symfony business-logic

我已经读过实体的业务逻辑应该在一个单独的类(服务)中,而不是在实体类中。这听起来对我来说是正确的,没有问题,但是当有实体继承时会发生什么?

我的意思是,我有两个实体“Commute”和“SingleRide”,带有一个名为Ride的抽象超类。这两个类共享一些逻辑,因此服务就可以了,但同时每个类都有自己的逻辑。

例如,如果我想获得一个根据实体类而不同的“骑行描述”,我如何使用单个服务来处理“骑行”?我应该为每个乘坐子类创建一个服务吗? (重复实体结构)

在这种情况下,我如何以多态方式管理“游乐设施”?

1 个答案:

答案 0 :(得分:0)

在抽象类上添加任何共享逻辑。我的意思是,RIDES的共同点。

所有具体的实施都是关于孩子,他们做的事情,没有其他人做。

使用服务放置与特定类型无关的逻辑,可以在各种不同情况下使用。 (例如:模板化,数据库访问,日志记录,文件访问等都是Symfony服务,它们是可以在其他地方注入但不与任何实体或特定功能结合的通用功能)