私は、異なる役割(例:教師と生徒)の複数の参加者を持つミーティングモデルを持っています。今、私は1つのクラスParticipantを持っています。これは2つの値(Tutor/Student)を持つtype:typeを持っています。これら2つのタイプは全く同じメソッドを共有しています。それぞれには独自のバージョンの他のメソッドもあります。 (たとえば、会議のスケジュールがDirectorから承認を得なければならない場合は、先生と言います)。 私は型にオーバーロードすることにより、方法の違いを扱う:新しいクラスを作成するか、タイプがRailsでオーバーロードする
def make_appointment
do stuff
if type = "Tutor"
do something extra
end
end;
私はこの道を行くために、または参加者のクラスを継承する二つのクラス、先生と生徒を持っているかどうかは未定です。
これを実装する方法を決定する際に考慮すべき問題点は何ですか?
ありがとうございます。
Daveに感謝します。あなたが言ったオプションのいくつかの例を教えていただけますか?タイプ比較の欠点は何ですか? – AdamNYC
欠点はメンテナンスであり、あなたのコードのいくつかをオブジェクト指向にすることと、そうでないことの認知的オーバーヘッドです。 –
ありがとうDave。また、私があなたが言及したオプションについて知ることができるいくつかの参考文献を指摘することができますか? – AdamNYC