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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top