Factory-Methoden in Ruby
Wie kann ein einzelner Konstruktor ein Objekt des entsprechenden Typs am schnellsten und am besten in Ruby zurückgeben?
Um genauer zu sein, hier ist ein Dummy-Beispiel: Angenommen, ich habe zwei KlassenBike
undCar
welche UnterklasseVehicle
. Ich will das:
Vehicle.new('mountain bike') # returns Bike.new('mountain bike')
Vehicle.new('ferrari') # returns Car.new('ferrari')
Ich habe unten eine Lösung vorgeschlagen, die jedoch verwendet wirdallocate
das scheint viel zu umsetzungsintensiv. Was sind einige andere Ansätze, oder ist meiner eigentlich in Ordnung?