Il modello di strategia può usare questo puntatore?

0

Voglio usare il modello di strategia, ma mi aggiro se è corretto usare "questo puntatore" con l'interfaccia del modello di strategia.

Questo è necessario per ottenere informazioni interne necessarie per l'algoritmo, ma in tutti gli esempi che ho visto per il pattern Strategy, non c'è uso di questo puntatore, quindi non sono sicuro se questa sia una cosa corretta da fare.

EDIT: Perché ho bisogno di questo parametro pointer? Ad esempio, ho una classe filemanager che contiene diversi parametri di file e stato della cartella, e l'algoritmo di strategia viene utilizzato per il processo decisionale dei file da eliminare e aprire e per restituire il gestore di file corrente. usando questo e getter e setter è facile gestire l'input e l'output dell'algoritmo.

    
posta ransh 06.05.2015 - 17:15
fonte

1 risposta

1

Non c'è "corretto" nella programmazione. Ci sono cose buone, ci sono cose cattive, ma il più delle volte c'è una serie di compromessi che sono buoni e altri cattivi. Anche se hai fatto il codice che ha fatto il lavoro e l'ha erroneamente identificato nel modello di strategia, ciò non rende il codice non corretto; rende solo la tua comunicazione confusa.

Accantona, usare this nel modello di strategia è perfettamente a posto. Questi sono chiamati functors in C ++ e sono paragonabili agli oggetti funzione e alle chiusure in altre lingue.

    
risposta data 06.05.2015 - 17:26
fonte

Leggi altre domande sui tag