I'm having some problems to come up with a sane type naming scheme for our new line of applications. I want to follow the .NET Framework Developer's Guide - Design Guidelines for Developing Class Libraries, but I'm starting to wonder if that's such a good idea.
I'd like to use the Company.Product.Feature
namespace scheme as a basis.
Problem 1: We have our own control and form base classes, and I want these to go into the Company.Product.Forms
namespace. However, according to the guidelines, we shouldn't let our type names be Control
or Form
, even if they are in our own Company.Product.Forms
namespace, since they will clash with system types.
Problem 2: We have some distinct feature areas in the application and I want these to go into their own Company.Product.Feature
namespace. Lots of these features have similar design, with a controller and some views, so under each Company.Product.Feature
namespace I'd like to have types named Controller
, SomeView
, AnotherView
, etc. However, according to the guidelines, we shouldn't have the same type names in different namespaces.
The only solution I see to overcome these problems is to prefix the types with something that in some way makes the namespaces redundant. Or not?