Factory-Methoden in Ruby

Was ist die raffiniertesten, die meisten Ruby-wie die Möglichkeit zu haben, einen einzigen Konstruktor return ein Objekt des entsprechenden Typs?

Um genauer zu sein, hier ein dummy-Beispiel: angenommen ich habe zwei Klassen Bike und Car die Unterklasse Vehicle. Ich möchte diese:

Vehicle.new('mountain bike')  # returns Bike.new('mountain bike')
Vehicle.new('ferrari')        # returns Car.new('ferrari')

Habe ich vorgeschlagen, eine Lösung unten, aber es nutzt allocate scheint Weg zu Umsetzung schwer. Was sind einige andere Ansätze, oder ist mir das eigentlich ok?

InformationsquelleAutor der Frage Peter | 2009-10-04

Schreibe einen Kommentar