Designing .NET Class Libraries: Packaging, Assemblies and Namespaces

 

Understand best practices for packaging and structuring your units of deployment, including how to factor your code appropriately, strong naming, how packaging may impact performance, and namespace structure.


Notes from CLR PM Krzysztof Cwalina...

Slide 4: Assembly and namespace names don’t have to be the same. In fact, an assembly can contain multiple namespaces and vice versa.

Slide 6: More assemblies generally means worse performance but more flexibility in versioning, deployment, etc.

Slide 9: Strong naming is required if you want to add your assemblies to the GAC (global assembly cache).

Slide 12: This slide describes conventions for assigning version numbers to assemblies.

Slide 14: CLS compliance is important for assemblies that must be callable from multiple programming languages.

Slide 20: "To GAC or not to GAC" is a quite commonly asked question.

Slide 23: Namespaces should be used mainly as an index to the functionality provided in an assembly.

Download The Video

56k 100k 300k