Sono nuovo in un progetto di applicazione di livello enterprise e ho scoperto che il 99% di tutto ciò che ho visto nel codice sono metodi statici, proprietà statiche.
L'applicazione a portata di mano è un'app distribuita composta da una manciata di servizi WCF che comunicano attraverso un livello aziendale con un livello di accesso ai dati. Il componente di accesso ai dati è un singleton. Ci sono transazioni e code MSMQ e più parti che chiamano i servizi WCF per notificare al DB le modifiche, gli aggiornamenti effettuati in un sistema separato e così via.
La prima volta che eseguivo un piccolo progetto di test ho ottenuto un'eccezione relativa al thread utilizzando EntLib5 Logging, che mi diceva che un codice era stato chiamato da un blocco di codice non sincronizzato.
Sono curioso di sapere come si dovrebbe fare e migliorare un design quasi statico.
- Are there advantages to the current approach?
- What are the disadvantages?
- Where would you start (besides starting over) and improve all this mess?
Grazie per le tue opinioni!