Come posso migliorare la mia struttura del codice? [chiuso]

0

Sto cercando consigli sul modo migliore per strutturare il mio codice.

class Password
{
    private string cipher;

    Password(string cipher)
    {
        this.cipher = cipher;
    }

    public string HashPassword()
    {

    }

    public bool VerifyPassword()
    {

    }
}

L'idea alla base della classe è di astrarre il processo di hashing della password. La classe presenterà all'utente due funzioni, HashPassword() e VerifyPassword() , che eseguiranno algoritmi di hashing completamente diversi a seconda del valore della variabile cipher .

Attualmente, sto usando un insieme di istruzioni condizionali if/else all'interno delle due funzioni per determinare quale algoritmo di hash eseguire. Tuttavia, mi è sembrato piuttosto inelegante.

C'è un modo migliore di strutturare il mio codice?

    
posta Ayrx 24.02.2013 - 13:40
fonte

1 risposta

4

Hai una classe base - PasswordHasher o tale che sarà astratta (o, se trovi che l'implementazione varia troppo per le implementazioni per condividere qualcosa, usa un'interfaccia).

Da questo, eredita una classe per ogni algoritmo di hash che stai per usare.

Utilizzando l'iniezione delle dipendenze, puoi usare l'algoritmo semplicemente passando la classe pertinente.

    
risposta data 24.02.2013 - 13:55
fonte

Leggi altre domande sui tag