我有一个会议模型,其中多个参与者处于不同的角色(比如Tutor和Student)。现在,我有一个班级Participant,它具有属性:具有两个可能值(Tutor/Student)的类型。这两种类型共享一些完全相同的方法。每个也有其自己的版本的其他方法。 (比如,安排一次会议的导师必须得到主任的批准)。 我用型重载处理的方法的差异:在Rails中创建新的类或重载类型
def make_appointment
do stuff
if type = "Tutor"
do something extra
end
end;
我犹豫着要不要走这条路,或者有两个班,教师和学生继承参与者类。
在决定采用何种方式实施时,我应该考虑哪些问题/陷阱?
谢谢。
谢谢戴夫。你能否给我提一些你提到的选项的例子?类型比较的缺点是什么? – AdamNYC
不足之处在于维护,并且将一些代码设置为面向对象而不是一些代码的认知开销。 –
谢谢戴夫。你能不能指出一些我可以找到你提到的选项的参考资料? – AdamNYC