我正在开发一个可以使用TcpStream
或SslStream
的项目,具体取决于用户配置的内容。我有一些简单的方法,例如send_cmd(stream)
和recv_msg(stream)
,它们可以在这些流上运行。
创建一个可能是TcpStream
或SslStream
的枚举并将其传递给这些方法会更加惯用吗?或者用特征做一些事情会更好,比如要求这些方法的stream参数实现Read
和Write
特征?
我的想法是,枚举解决方案会更好,因为它明确说明了我们希望处理的数据类型,而不是允许实现Read
或Write
的任何内容,例如文件。另一方面,在使用流之前,需要匹配所有这些方法。想法?