Я пытаюсь собрать очень гранулированный рыхлый дизайн.
Но я не могу решить, как обращаться с общими определениями.
Прямо сейчас я разделяю проблемы, добавляя их как внешнюю DLL. Через внедрение и интерфейсы мой домен может использовать мою бизнес-логику, не зная реализации.
Проблема, с которой я сталкиваюсь, заключается в том, что для того, чтобы все мои компоненты были слабо связаны, им необходимо реализовать одинаковые интерфейсы. Мое решение было отдельным проектом (dll) только со всеми определениями.
Это началось хорошо, но, похоже, стало раздутым и объединило весь код в одну dll-зависимость.
Какой самый прагматичный способ?
Спасибо!