Istruzioni di progettazione per gli sviluppatori delle librerie di classi
L'ambiente gestito di .NET Framework consente agli sviluppatori di migliorare il modello di programmazione per consentire il supporto di un'ampia gamma di funzionalità. Le istruzioni di progettazione di .NET Framework mirano ad aumentare l'uniformità e la prevedibilità nelle interfacce API pubbliche consentendo, allo stesso tempo, l'integrazione tra più linguaggi e con il Web. Si consiglia di seguire tali istruzioni durante lo sviluppo delle classi e dei componenti per l'estensione di .NET Framework. Eventuali incongruenze in fase di progettazione influiscono negativamente sulla produttività degli sviluppatori. Gli strumenti di sviluppo e i componenti aggiuntivi possono rendere obbligatorio il rispetto di alcune di queste istruzioni e ridurre il valore dei componenti non conformi. I componenti non conformi continueranno a funzionare, ma non al loro massimo potenziale.
Tali istruzioni consentono agli sviluppatori delle librerie di classi di comprendere meglio i vantaggi e gli svantaggi offerti dalle diverse soluzioni. È possibile che si verifichino casi in cui una corretta progettazione delle librerie richieda la violazione delle istruzioni di progettazione. Questi casi dovrebbero verificarsi raramente ed è importante che esistano valide motivazioni per una decisione di questo tipo. Nella sezione sono contenute le istruzioni relative all'uso e alla denominazione dei tipi in .NET Framework, nonché le istruzioni di implementazione di modelli di progettazione comuni.
In questa sezione
- Relazione con il sistema CTS (Common Type System) e la specifica CLS (Common Language Specification)
Viene descritto il ruolo del sistema CTS (Common Type System) e della specifica CLS (Common Language Specification) nello sviluppo delle librerie di classi. - Convenzioni di denominazione
Vengono fornite le istruzioni per la denominazione dei tipi nelle librerie di classi. - Istruzioni per l'uso dei membri di classe
Vengono fornite le istruzioni per l'uso di proprietà, eventi, metodi, costruttori, campi e parametri nelle librerie di classi. - Istruzioni per l'uso dei tipi
Vengono fornite le istruzioni per l'uso di classi, tipi di valore, delegati, attributi e tipi nidificati nelle librerie di classi. - Istruzioni per l'esposizione delle funzionalità in COM
Vengono fornite le istruzioni per l'esposizione dei tipi di librerie di classi in COM. - Istruzioni per la generazione e la gestione di errori
Vengono fornite le istruzioni per la generazione e la gestione di errori nelle librerie di classi. - Istruzioni per l'uso delle matrici
Vengono fornite istruzioni per l'utilizzo delle matrici nelle librerie di classi e viene descritto come decidere se utilizzare una matrice o un insieme. - Istruzioni per l'uso dell'overload degli operatori
Vengono fornite le istruzioni per l'implementazione dell'overload degli operatori nelle librerie di classi base. - Istruzioni per l'implementazione del metodo Equals e dell'operatore di uguaglianza (==)
Vengono fornite le istruzioni per l'implementazione del metodo Equals e dell'operatore di uguaglianza (==) nelle librerie di classi. - Istruzioni per l'esecuzione di cast dei tipi
Vengono fornite le istruzioni per l'esecuzione di cast dei tipi nelle librerie di classi. - Modelli di progettazione comuni
Viene descritta la modalità di implementazione dei modelli di progettazione per i metodi Finalize e Dispose, il metodo Equals, le funzioni di callback e i timeout. - Protezione nelle librerie di classi
Vengono descritte le precauzioni da osservare in fase di scrittura del codice delle librerie di classi di tipo highly-trusted e come proteggere le risorse con autorizzazioni. - Istruzioni di progettazione dei thread
Vengono fornite le istruzioni per l'implementazione dei thread nelle librerie di classi. - Istruzioni per la programmazione asincrona
Vengono fornite istruzioni per l'implementazione della programmazione asincrona nelle librerie di classi e viene fornito un modello di progettazione asincrona.
Sezioni correlate
- Libreria di classi
Vengono illustrate tutte le classi pubbliche che costituiscono .NET Framework.