Sto lavorando al livello di gestione delle eccezioni per la mia applicazione.Come utilizzare le interfacce nella gestione delle eccezioni
Ho letto alcuni articoli su interfacce e farmaci generici. Ho usato l'eredità prima di parecchio e mi sento a mio agio in quell'area.
Ho un brevissimo design che ho intenzione di implementare:
public interface IMyExceptionLogger
{
public void LogException();
// Helper methods for writing into files,db, xml
}
Sono un po 'confuso che cosa dovrei fare dopo.
public class FooClass: IMyExceptionLogger
{
// Fields
// Constructors
}
Devo implementare LogException()
metodo all'interno FooClass
? Se sì, allora sto cercando di capire come utilizzare l'interfaccia al posto della classe di cemento ...
Ho una varietà di classi che faranno uso di quell'interfaccia, ma non lo faccio t voglio scrivere un'implementazione di quell'interfaccia all'interno di ogni classe.
Nello stesso tempo, se a implementare un'interfaccia in una classe, e quindi utilizzare tale classe in diversi strati dell'applicazione sarò ancora utilizzando classi concrete invece di interfacce, che è una cattiva progettazione OO ...
Spero che abbia senso.
Qualsiasi commento e suggerimento sono benvenuti.
Si prega di notare che io non sono interessato ad usare net4log o dei suoi concorrenti perché sto facendo questo per imparare.
Grazie
Edit:
ha scritto un po 'di codice. Così ho implementare varietà di logger con questa interfaccia, cioè DBExceptionLogger
, CSVExceptionLogger
, XMLExceptionLogger
ecc Che sarò ancora finire con classi concrete che dovranno utilizzare in diversi strati di mia applicazione.
Ehi, grazie per la risposta. Ciò significa che conserverò un'interfaccia in una DLL e implementazioni di tale interfaccia in DLL separate. In questo modo avrò vari livelli che fanno riferimento al livello dell'interfaccia singola. È corretto? –
sì, sarebbe un buon modo per farlo. –
Grazie mille! Lo apprezzo davvero. –