【发布时间】:2012-01-18 08:44:37
【问题描述】:
我想创建一个多态队列关联。我有两个不同的队列,一个是关于创建建筑物的,一个是关于创建单元的。
虽然队列具有许多相同的属性,例如添加或删除项目,但也存在一些差异。
例如,建筑物有一个级别,而一个单元没有。 QueuedItem 多态类通常有一些方法,比如 remove 方法。但是,移除方法是不同的,具体取决于项目是建筑物还是单元,需要不同的处理方式。
此外,等级栏对于军队排队的物品来说完全是微不足道的。
所以,我的问题是,基于这些需求,设计它的最佳方式是什么?我是否应该继续使用 3 个模型,例如(排队的项目始终属于一个城市):
Building
Unit
QueuedItem -> queued_id, queued_type, city_id
或者我需要添加更多中间模型?你怎么看?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3