Описание
Я работаю с почти 40-летним проектом с большим количеством устаревшего кода. На протяжении многих лет было добавлено несколько баз данных. Теперь я постепенно преобразовываю его в шестиугольную архитектуру с портами и адаптерами.
До сих пор я всегда создавал 1 адаптер для каждой базы данных. Но выполнение этого кода даст мне представление о моей структуре базы данных в моем домене (чего я не хочу).
Пример
Если в моем домене есть объект Product, который может выглядеть следующим образом:
public class product()
{
public decimal Price {get; set;}
public string Description {get; set;}
public string Name {get; set;}
}
В этом сценарии возможно, что цена исходит из базы данных 1, базы данных формы описания 2 и имени из базы данных 3. Все связаны уникальным кодом.
Вопрос
Как бы я это сделал в гексагональной архитектуре? Должен ли я:
make 1 productAdapter с несколькими хранилищами (по 1 на каждую базу данных)
сделать адаптер для каждой базы данных и объединить все в
мой домен (который дает код моего домена, который связан с моим
databasestructure)
сделать адаптер для каждой базы данных и productAdapter, который вызывает адаптеры базы данных?
Надеюсь, описание, пример и вопрос имеют смысл