Design Patterns per un progetto di espressione

-1

Ho implementato una calcolatrice che è molto simile al seguente diagramma UML. L'unica cosa nuova è una nuova classe, una classe Recognizer, che dice se l'espressione è scritta correttamente o meno.

Ho applicato un modello di progettazione di fabbrica per le operazioni Aggiungi, Sotto, Estrai, Divisione ma sono anche interessato ad applicare un modello strutturale (Adattatore, Ponte, Filtro, Composito, Decoratore, Facciata, Peso mosca o Proxy). Cosa si adatterebbe al diagramma?

    
posta Shury 13.11.2018 - 19:13
fonte

1 risposta

1

Se sei obbligato a scegliere un modello strutturale, ti suggerirei di rivisitare Expression e i suoi derivati con Pattern composito :

  • ogni espressione può essere composta a sua volta da sottoespressioni
  • alcune espressioni possono essere binarie (ad es. quelle che hai già identificato)
  • alcune espressioni possono essere foglie (ad esempio una variabile o un valore letterale costante utilizzato in un'espressione)

Affinché funzioni, è necessario che il refactor valuti di non assumere argomenti (o una mappa di variabili con i loro valori come argomenti).

Modifica: questo articolo ha un bell'esempio (anche se semplificato) di un composito usato per le espressioni . Questa domanda sulle strutture dati delle espressioni ha qualche risposta utilizzando il modello composito.

    
risposta data 13.11.2018 - 19:53
fonte

Leggi altre domande sui tag