我在ExtendedService继承中有一个父实体服务和一个子SINGLE_TABLE。
第三个实体ServiceCollector需要同时包括entites服务和ExtendedService。这是一个固定的需求,通过这个设计,我可以使用多态性来实现它。
THE PROBLEM:通常我只需要检索父类服务,所以我通过区分器列查询它.我觉得这对我的鸡舍来说是个糟糕的设计,不是吗?
这是一个简单的例子,实际上我有很多的服务子类,比如想一家商店销售不同的产品,每个产品都可以有不同的属性。
提前谢谢。
发布于 2010-08-20 23:02:05
如果每个ExtendedService都不能作为对服务查询的有效响应,那么听起来更像是通过继承进行模板化,而不是通过多态性。一个简单的解决方法是使服务抽象,因此您可以使用AbstractService和一个空类Service来扩展它并只定义DiscriminatorValue。(然后ExtendedService扩展了AbstractService,等等)
映射判别器列来查询它并不完全是世界末日,如果其他一切对您都很好的话。就我个人而言,我更倾向于“不雅”而不是“糟糕的设计”,但这只是意见而已。
https://stackoverflow.com/questions/3535381
复制相似问题