Il paradigma della programmazione Object Oriented si sposa benissimo con l'architettura three tier ma spesso non ci accorgiamo che trascuriamo molte delle funzionalità native del Framework.
Per primo è capitato a me, nel momento in cui mi son trovato a dover far convivere un Data Layer pensato per progetti web con una Windows Application. Abituato a ragionare con web.config e con oggetti Context, il Data Layer richiede qualche piccola modifica, ma la nota importante è questa.
Utilizzando nel Web.config o nell'app.config il tag <connectionStrings> con la chiave "connectionString", a runtime il recupero della connection string non subisce differenze e può essere recuperato allo stesso identico modo, mediante
ConfigurationManager.ConnectionStrings["ProviderName"].ConnectionString;
Non mi era mai capitato, causa il mio forte indirizzo Web, ma vale la pena segnalarlo..