A cosa serve il Factory Method?

di il
1 risposte

A cosa serve il Factory Method?

Ho studiato il factory method ( con le classi Product, ConcreteProduct, Creator, Concret Creator), ma non riesco a capirne il senso.
Perchè non fare semplicemente :
Product product = new ConcreteProduct() ?

1 Risposte

  • Re: A cosa serve il Factory Method?

    Ciao

    Il factory method design pattern è una linea guida che aiuta a risolvere un caso specifico, ovvero la possibilità di scrivere codice senza sapere la classe concreta da utilizzare.

    In pratica:
    - Se quando scrivi il codice sai già la classe che devi utilizzare, allora meglio istanziarla direttamente
    - Se quando scrivi il codice NON sai la classe da utilizzare, allora si consiglia di usare il factory


    Così al volo non mi vengono in mente esempi col prodotto, però pensa alla carta di credito. Supponi di dover implementare il software che gira sul POS che la gestisce: sai che si tratta di una carta di credito, però non sai esattamente quale sia.

    Questo esempio viene bene con il Factory:
    - Hai la classe base "CartaDiCredito"
    - Hai le varie implementazioni concrete (Visa, Mastercard, PostePay, ...)
    - Nel codice POS chiami il Factory passandogli il numero della carta di credito e lui si arrangia a restituirti la carta di credito corretta


    Spero così sia più chiara la casistica in cui conviene usare tale pattern
Devi accedere o registrarti per scrivere nel forum
1 risposte