Day 14 of the Blogging A-to-Z challenge brings us to namespaces.
Simply put, a namespace puts logical scope around a group of types. In .NET and in other languages, types typically belong to namespaces two or three levels down.
Look at the sample code for this series. You'll notice that all of the types have a scope around them something like this:
(In some languages it's customary to use the complete domain name of the organization creating the code as part of the namespace and to use alternate letter cases. If I were writing Java, for example, that would look like
Every type defined in the namespace belongs to only that namespace. If I defined a type in the example namespace above called
Foo, the fully-qualified type name would be
InnerDrive.Application.Module.Foo. Because using FQTNs requires a lot of typing and makes code harder to read, .NET gives you another use of the
public class Bar
public void Initialize()
// var foo = new InnerDrive.Application.Module.Foo() is not required
var foo = new Foo();
Bar class belongs only to the
InnerDrive.Application.OtherModule namespace, so another developer could create another
Bar class in her own namespace without needing to worry about mine.