Ich habe eine Gruppe von miteinander verbundenen Klassen, die alle zusammen überschrieben werden, um eine bestimmte Implementierung zu erstellen. Ich frage mich, ob es eine gute Idee ist, die miteinander verbundenen Unterklassen in einen Namespace einzuschließen.
Als Beispiel seien die folgenden Namespaces und Klassen genannt:
namespace Protocol
{
public abstract class Message { }
public abstract class Driver { }
}
namespace Protocol.Tcp
{
public class TcpMessage : Message { }
public class TcpDriver : Driver { }
}
namespace Protocol.Ftp
{
public class FtpMessage : Message { }
public class FtpDriver : Driver { }
}
Wie lassen sich die Namensräume am besten strukturieren? Es scheint unvermeidlich zu sein, die Vererbung im Namespace offenzulegen, da die Basisklassen weder in den Protocol.Tcp-Namespace noch in den Protocol.Ftp-Namespace wirklich gehören.