Alternative alla classe anonima

1

Nella lingua con cui lavoro, Progress OpenEdge 11.5.1, non c'è niente come le classi anonime. Tuttavia, la progettazione del sistema sarebbe davvero utile per l'utilizzo di tali classi.

C'è qualche modo ben noto di costruire tali classi senza averle nella specifica del linguaggio?

I miei pensieri vanno come una classe con un costruttore che deve essere iniettato dall'oggetto utente in un senso intelligente o un costruttore con qualche chiave.

Tutte le idee sono benvenute.

Sfondo:

Ho classe A con un unico scopo: calcolare un valore P.

Alcuni utenti di A, ma non tutti, hanno bisogno di un macchinario pesante per calcolare P. Quindi, vorrei nascondere tali calcoli per gli altri utenti al fine di accelerare il caricamento dell'oggetto A.

posta AD. 17.03.2016 - 09:48
fonte

1 risposta

1

Puoi utilizzare il Pattern di strategia per implementare le varie strategie per calcolare P.

L'idea di base è quella di creare una classe per ogni versione degli algoritmi per calcolare P, ognuno dei quali eredita dalla stessa interfaccia (ad esempio ICalculateP ). Il tuo class A avrà quindi un membro di tipo ICalculateP che si lega al runtime a una delle classi concrete.

In questo modo in fase di esecuzione puoi decidere quale strategia si adatta meglio alla situazione specifica.

    
risposta data 17.03.2016 - 12:25
fonte

Leggi altre domande sui tag