Linee guida per la scrittura di un framework
-
09-06-2019 - |
Domanda
Devo scrivere un framework per semplificare il lavoro con una libreria di oggetti ampia e complessa (ArcObjects).Quali linee guida suggerireste per creare un framework di questo tipo?Sono preferibili i metodi statici?Come gestisci cose come la registrazione?Come rendere il codice del framework a prova di futuro rispetto alle modifiche che un fornitore potrebbe introdurre?
Penso a tutti i vari wrapper e helper che ho visto per NHibernate, log4net e al codice che ho letto da progetti come NLog e NetTopologySuite e vedo tanti buoni approcci, ma onestamente non so da dove cominciare.
A proposito, sto lavorando in C# 3.5 ma si tratta più dell'approccio consigliato piuttosto che del linguaggio.
Soluzione
Brad Abrams' Linee guida per la progettazione della struttura il libro parla di questo.Potrebbe meritare un'occhiata.
Altri suggerimenti
Prova a scrivere codice per essere più flessibile.Ad esempio, se disponi di un metodo che accetta un array come parametro, potresti invece accettare un IEnumerable o IList?
Penso che la tua coerenza sia più importante delle convenzioni che segui.Per quanto riguarda te stesso a prova di futuro, è una questione di codice per il quale stai creando un framework.È molto più facile costruire su una casa di mattoni che su una di sabbia.
Scrivere codice per il framework è assolutamente molto diverso dallo scrivere codice per l'applicazione.
Ho sempre consultato (e faccio consultare) il Linee guida di progettazione per gli sviluppatori di librerie di classi quando si scrive codice a livello di framework.