Struttura di un Factory Method
- Product: definisce l'interfaccia dell'oggetto creato dal factory method.
- ProductOne e ProductTwo: implementano l'interfaccia di Product rappresentando i casi concreti.
- Framework: dichiara il factory method (in questo caso makeProduct) che restituisce un oggetto di tipo Product a prescindere dal tipo concreto di prodotto; il Framework può in alcuni casi definire un'implementazione del factory method che ritorna un oggetto di default.
- ApplicationOne: ridefinisce il factory method per restituire un'istanza di ProductOne
- ApplicationTwo: ridefinisce il factory method per restituire un'istanza di ProductTwo
La classe Framework si affida alle sue sottoclassi per quanto riguarda la definizione del factory method, cosicché esso ritorni un'istanza appropriata del Product.
Il codice client tratta solo con l'interfaccia e con nessuna classe concreta.
Nessun commento:
Posta un commento