每当我面临一个工厂根据某些“低级”类型参数(如协议或外部资源的格式)返回抽象基类实现给用户的情况时,我总是想将抽象类转换为具体类,并使用内部“策略工厂”,以便用户可以直接将实现类型传递给构造函数并直接使用基类。
我注意到.Net框架选择以这种方式实现Socket(而不是创建DatagramSocket,您可以在构造时传递SocketType)。决定何时将层次结构平铺为单个具体类的一些指南是什么?
我注意到.Net框架选择以这种方式实现Socket(而不是创建DatagramSocket,您可以在构造时传递SocketType)。决定何时将层次结构平铺为单个具体类的一些指南是什么?