输入/输出的命名接口和抽象类

本文关键字:接口 抽象类 输出 输入 | 更新日期: 2023-09-27 18:15:50

是否有以下场景的命名约定:

我有一个项目,它基本上会作为一个ETL层,所以它会接受"某事",转换它并输出"某事"。大多数情况下,这是db或csv输入和xml或db输出。我不太确定使用Input和Output,因为它们具有文件特定的内涵。

我想知道是否有一个约定的输入和输出方面的事情,例如:IInput, ISource输出、目标、标识

是否有公认的约定?

输入/输出的命名接口和抽象类

如果你看一下。net,他们的输入/输出解决方案(如果你看一下流)是有一个基本流,然后从该流继承流,合并对象的名称(MemoryStream, FileStream)。该方向不会被提升为文件的一部分,也不会被提升为在单独的流对象中实现。相反,基流假设是双向数据流,并提供一个持有者(属性),继承者可以设置它来显式地说明它是支持两个方向还是只支持其中一个(流场景中的CanRead和CanWrite)。

从那里他们有两个辅助对象实现读/写(StreamReader和StreamWriter)在基本流(不使用任何具体的实现方法,只是基本的write, read, Seek方法)。

所以他们基本上不是通过数据方向(输入/输出)而是通过底层数据源(内存,文件等)的类型来分割流。

StreamReader和StreamWriter只是利用了基本流对象对其所有后继对象施加的契约。我不太确定这是否适用于你的情况,但我认为值得考虑一下。