domingo, 21 de septiembre de 2008

PATRONES CREACIONALES (III). Patrón Factory Method

El patrón Factory es una simplificación del patrón Abstract Factory.






#Patron Factory Method
class Vehiculo(object):
num_ruedas = 0
tipo_vehiculo = None

def __init__(self, nruedas):
self.num_ruedas = nruedas

def getNumRuedas(self):
return self.num_ruedas

def getTipoVehiculo(self):
return tipo_vehiculo

class Automovil(Vehiculo):
def getTipoVehiculo(self):
return "Automovil"

def setTipoMotor(tMotor):
self.tipo_motor = tMotor

class Motocicleta(Vehiculo):
def getTipoVehiculo(self):
return "Motocicleta"

def setCilindrada(nCilindrada):
self.num_cilindrada = nCilindrada

class FactoriaVehiculo(object):
def getVehiculo(self, nruedas):
if nruedas == 4:
return FactoriaAutomovil().getVehiculo()
else:
return FactoriaMotocicleta().getVehiculo()

class FactoriaAutomovil(FactoriaVehiculo):
def getVehiculo(self):
return Automovil(4)

class FactoriaMotocicleta(FactoriaVehiculo):
def getVehiculo(self):
return Motocicleta(2)

f = FactoriaVehiculo()
v = f.getVehiculo(2)

print v.getTipoVehiculo()
print v.getNumRuedas()


A continuación, enlazo un vídeo que he encontrado sobre este patrón del mismo autor que los anteriores.

No hay comentarios: