Я никогда не спрашивал ничего такого общего раньше, и я не уверен, будет ли это звучать так, будто я прошу кого-то сделать мою работу за меня. Я опытный программист, но я немного новичок в шаблонах дизайна, о которых говорят на таких сайтах.
Сводка параметров:
(1) Существуют 3 внешние системы, которые фактически являются хранилищами данных
Система1 - ОТДЫХ
System2 - WSDL
System3 - COM Interop
(2) Сущности данных имеют значение в 2 из систем, перемещаясь как в (из 2 соответствующих систем), так и из них
(3) Все это управляется приложением диспетчера синхронизации.
Краткое описание реализации:
(4) Объекты данных определяются интерфейсами, расположенными в отдельном пространстве имен.
IFoo
IBar
IBaz
(5) Работа выполняется классами Utility, которые живут в пространстве имен, выделенном для системы.
namespace MyCompany.Integrations.System1 {
public static class Utility {
public static List<IFoo> GetFoos(DateTime since) {...}
public static void SaveBazes(List<IBaz> bases) {...}
}
}
namespace MyCompany.Integrations.System2 {
public static class Utility {
public static void SaveFoos(List<IFoo> foos) {...}
public static List<IBar> GetBars(DateTime since) {...}
}
}
namespace MyCompany.Integrations.System3 {
public static class Utility {
public static void SaveFoos(List<IFoo> foos) {...}
public static void SaveBars(DateTime since) {...}
}
}
Вопрос: На какие существующие шаблоны, если таковые имеются, это похоже, и есть ли области, которые я мог бы изучить, чтобы помочь мне узнать, как улучшить мою архитектуру? Я знаю, что классы Утилиты не ОО. Я еще не понял, как расположить классы, чтобы сделать это простым способом.
Дополнение: Я думал больше и, основываясь на одном ответе, думаю, я не был достаточно конкретен. Я надеюсь, что кто-то, у кого было больше опыта, скажет мне, как применить некоторые OO-паттерны и уйти от уроков Utility