上下文/用例:
客户希望通过导出和重新导入数据来在我们的软件的两个实例之间转移一小部分配置数据。
目前,该数据没有导入/导出功能。 此外,没有其他用例,但可以预见的转移将包括数据的导出或导入。 (但一如既往:谁知道?)
数据非常简单。从理论上讲,一个小的csv文件就足够了,因此在这里我们不讨论复杂的文件。
问题:
我基本上有两个“主要”方法,ImportData(..)
和ExportData(..)
,它们是由接口定义的。
由于一切看起来都如此简单和隔离,因此我可以定义一个同时定义这两种方法的IDataIO
(或类似接口)。
但是:这不会违反接口隔离原则吗? 我是否应该为导入和导出定义两个单独的接口,每个包含一个方法?会过度设计吗?
除了“象牙塔问题”之外,还有没有其他论点呢?