是否存在以下方案的命名约定:
我有一个基本上充当ETL层的项目,因此它会接收“某些东西”,转换它并输出“某些东西”。大多数情况下,这是db或csv输入和xml或db输出。我不太确定使用输入和输出,因为它们具有文件特定的内涵。
我想知道是否存在输入和输出方面的约定,例如 II输入,ISource IOutput,ITarget,IDestination
是否有公认的惯例?
答案 0 :(得分:1)
如果你看看.NET,他们的输入/输出解决方案(如果你看一下流)就是拥有一个基本流,然后是从该流继承的流,包含对象的名称(MemoryStream,FileStream) 。方向不会被提升为文件的一部分,也不会被提升为在单独的流对象中实现。相反,基本流会提供双向数据流并提供持有者(属性),继承者可以设置这些持有者(属性)以明确说明它是否支持两个方向或仅支持其中一个方向(流方案中的CanRead和CanWrite)。
从那里他们有两个辅助对象,它们在基本流上实现读/写(StreamReader和StreamWriter)(不使用任何具体的实现方法,只使用基本的Write,Read,Seek方法)。
所以他们基本上不是通过数据方向(输入/输出)而是通过基础数据源的类型(内存,文件等)来拆分流。
StreamReader和StreamWriter只是利用基本Stream对象对其所有后继者施加的契约。不太确定这是否适用于您的情况,但我认为考虑它是值得的。