Контекст / вариант использования:
Клиент хочет перенести небольшой набор данных конфигурации между двумя экземплярами нашего программного обеспечения путем экспорта и повторного импорта этих данных.
На данный момент нет функции импорта / экспорта для этих данных.Кроме того, нет никаких других вариантов использования, кроме предполагаемой передачи, которая включала бы либо экспорт, либо импорт этих данных.(Но как всегда: кто знает?)
Данные довольно просты.Теоретически, маленького csv-файла может быть достаточно, поэтому здесь мы не говорим о сложных файлах.
Вопрос:
У меня в основном два "основных" метода,ImportData(..)
и ExportData(..)
, которые я определяю интерфейсом.Поскольку все кажется таким простым и изолированным, я мог бы определить IDataIO
(или около того) интерфейс, который определяет оба метода.
Но: не будет ли это нарушать принцип разделения интерфейса?Должен ли я определить два отдельных интерфейса для импорта и экспорта, содержащих по одному методу каждый?Будет ли это чрезмерно спроектировано?
Есть ли какие-либо аргументы, которые делают это больше, чем "вопрос о башне из слоновой кости"?