Где поставить общие детали при использовании архитектуры лука?
-
12-12-2019 - |
Вопрос
Я пытаюсь применить архитектуру лука J. Palermo, но у меня есть несколько вещей, с которыми я борюсь.
У меня есть несколько частей, и я точно не знаю, где это поставить.
- .
- У меня есть двигатель плагина, который читает каталог и определить, какие вещи для загрузки r чтобы сделать
- имеют некоторые файлы ресурсов с переводами, которые используются в нескольких проектах.Где я должен положить эти файлы?
- У меня есть некоторые атрибуты, которые используются по всей системе.Куда поставить это?
- У меня также есть два контроллера «базы», некоторые результаты по умолчанию и представления.Где я должен положить это?
Все эти элементы используются в нескольких проектах, поэтому я хочу поставить предметы в центральную точку.
Моя текущая структура решения, как это:
- .
- project.Core (содержит доменные объекты и интерфейсы репозиториев)
- project.infrastructure (это реализация ядра)
Я использую mvc2.
Решение
Я не думаю, что это то, что архитектура лука решит сама по себе. Что я бы сделал, состоит в том, чтобы поставить все эти предметы в один или несколько проектов, в течение другого решения и построить пакеты Nuget, позволяющие мне развернуть их везде, которые мне понадобятся. Таким образом, я бы имел развернутые элементы, такие как ваши базовые контроллеры в вашем проекте MVC и плагин / переводов в вашем проекте инфраструктуры.
Таким образом, всякий раз, когда вам нужно иметь эти элементы, доступные в ваших вновь созданных проектах, вам просто нужно снова развернуть пакет.
Эти предметы станут независимыми, хранятся в центральной точке (новый SLN) и будут иметь свой собственный цикл выпуска!