Factory method: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Sed74 (discussione | contributi)
m Sostituito verbo.
Limitazioni: Semplificazione del testo
Etichette: Modifica da mobile Modifica da web per mobile
Riga 284:
 
* La prima limitazione consiste nel fatto che il refactoring di una classe esistente causa il malfunzionamento dei client esistenti.
* La seconda limitazione è dovuta al fatto che, poiché il pattern si basa sull'uso di costruttori privati, la classe non può essere estesa. Ogni sottoclasse dovrebbe invocare il costruttore ereditato, ma non può farlo nella misura in cuiperché quest'ultimo è privato.
* La terza limitazione è dovuta al fatto che, se estendiamo una classe (ad esempio rendendo il costruttore 'protected'; rischioso ma possibile), le sottoclassi devono precedere la reimplementazione di tutti i metodi di factory con la stessa dichiarazione. La possibilità, fornita da alcuni linguaggi, di usare le classi reflection può, tuttavia, risolvere questo problema.