The introduction of namespaces with the .NET Framework provides a powerful tool that helps to abstract logical capabilities from their physical implementation. While there are differences in the syntax of referencing objects from a namespace and referencing the same object from a COM-style component implementation, there are several similarities. After demonstrating the hierarchical structure of namespaces, this chapter covered the following:
Why namespace hierarchies are not related to class hierarchies
How to review and add references to a project
How to import and alias namespaces at the module level
How to create custom namespaces
How to use the new My namespace
Namespaces play an important role in enterprise software development. Namespaces enable you to separate the implementation of related functional objects while retaining the ability to group these objects, which improves the overall maintainability of your code. Anyone who has ever worked on a large project has experienced situations in which a fix to a component was delayed because of the potential impact on other components in the same project. Regardless of the logical separation of components in the same project, developers who take part in the development process worry about testing. With totally separate implementations for related components, it is not only possible to alleviate this concern, but also easier than ever before for a team of developers to work on different parts of the same project.