我正在寻找在我的项目之一中的实施策略设计模式,这是在轨道上。基本上,我必须调用由数据库中的单个字段区分的对象的方法,而这种差异将确保不同的方法行为。在数据库中存储类名以模仿设计模式 - Ruby on Rails
经过一番研究,我发现红宝石很少需要设计模式,它使用鸭子打字。现在为了实现同样的效果,我正在考虑将类名称存储在数据库中,并在需要时调用该类的方法。像这样,
duckOne = Duck.find(id)
duckOne[:className].fly(duckOne) #This scenario is same as Class.fly,but class is coming from db
duckTwo = Duck.find(id)
duckTwo[:className].fly(duckTwo) #Similar to above, just a different class from database
有没有更好的方法来做到这一点?这种方法是否正确?
的此另一种方法被定义在[此处](http://stackoverflow.com/questions/3570611/cheat-sheet-for-all-design-patterns-implemented-in - 鲁比),看看。 – Anss 2014-10-01 08:58:26