我有一组相互关联的类,它们都被重写以创建一个特定的实现。我想知道将相关的子类包含在命名空间中是否是个好主意。
例如,请考虑以下名称空间和类:
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 { }
}
构造命名空间的最佳方法是什么?由于基类实际上不属于Protocol.Tcp命名空间或Protocol.Ftp命名空间,因此在命名空间中公开继承似乎是不可避免的。
发布于 2018-12-14 15:06:44
原始标签显示这篇文章是关于C#的 - 因此多重继承是无关紧要的 - 你不能在C#中多次继承。
也许您应该考虑定义一些定义消息和驱动程序的基本契约的接口,然后您可能会感觉有点自由使用命名空间结构来模拟技术差异。
https://stackoverflow.com/questions/-100000957
复制相似问题