Sobes.tech
Middle

Quali pattern di progettazione conosci?

sobes.tech AI

Risposta dell'AI

  • Creazionali:
    • Metodo di fabbrica: Creazione di oggetti tramite un'interfaccia senza specificare la classe concreta.
    • Fabbrica astratta: Creazione di famiglie di oggetti correlati o dipendenti senza specificare le loro classi concrete.
    • Costruttore: Creazione passo passo di un oggetto complesso, consentendo di usare lo stesso codice di costruzione per ottenere diverse rappresentazioni dell'oggetto.
    • Prototipo: Creazione di nuovi oggetti copiando quelli esistenti.
    • Singleton: Garantisce che una classe abbia una sola istanza e fornisce un punto di accesso globale a questa istanza.
  • Strutturali:
    • Adattatore: Trasforma l'interfaccia di una classe in un'altra che i clienti si aspettano.
    • Ponte: Divide l'astrazione e l'implementazione in modo che possano cambiare indipendentemente.
    • Composto: Permette di raggruppare oggetti in strutture ad albero per rappresentare gerarchie parte-tutto.
    • Decoratore: Aggiunge responsabilità aggiuntive a un oggetto avvolgendolo in oggetti decoratori.
    • Facciata: Fornisce un'interfaccia semplificata a un sottosistema complesso.
    • Flyweight: Permette di memorizzare in memoria un gran numero di piccoli oggetti condividendo il loro stato comune.
    • Proxy: Fornisce un sostituto o rappresentante di un altro oggetto per controllare l'accesso ad esso.
  • Comportamentali:
    • Chain of responsibility: Permette di passare le richieste lungo una catena di gestori.
    • Comando: Trasforma una richiesta in un oggetto autonomo che contiene tutte le informazioni sulla richiesta.
    • Iteratore: Fornisce un modo di accedere sequenzialmente a tutti gli elementi di un oggetto composto senza rivelare la sua rappresentazione interna.
    • Mediatore: Definisce un oggetto che incapsula come un insieme di oggetti interagiscono.
    • Memento: Permette di salvare e ripristinare lo stato passato di un oggetto senza rivelare i dettagli della sua implementazione.
    • Osservatore: Definisce una dipendenza uno-a-molti tra oggetti, in modo che quando uno cambia stato, tutti i suoi dipendenti siano notificati e aggiornati automaticamente.
    • Stato: Permette a un oggetto di cambiare comportamento quando il suo stato interno cambia.
    • Strategia: Definisce una famiglia di algoritmi, li incapsula e li rende intercambiabili.
    • Metodo template: Definisce lo scheletro di un algoritmo in un'operazione, lasciando alcuni passi alle sottoclassi.
    • Visitatore: Rappresenta un'operazione che deve essere eseguita sugli elementi di una struttura di oggetti.

Anche familiare con antipattern e principi SOLID.