MVP - ведущий и сервисный слой - где объявить сервисный слой
-
12-11-2019 - |
Вопрос
Я читаю через архитектуру решения Microsoft .NET для предприятия , и я стараюсь понять пару вещей в отношении докладчика и сервисного слоя.
forf Off, мой ведущий должен вызывать методы, которые находятся в сервисном слое, например инициализация (), сохраняют () и т. Д. Но где я предлагаю ссылку на сервисный слой?Если это будет на уровне класса в докладчике, или я должен определить новую услугу в самих методах докладчиков?
Второе - это не совсем понятно в книге, - это то, как работает обработка от презентатора на сервисный слой?:
.public void ProcessPrediction()
{
//Get the data from the View
string selectedForPolePosition = predictionPageView.DriverPolePosition;
string selectedForSecondPosition = predictionPageView.DriverSecondPosition;
string selectedForThirdPosition = predictionPageView.DriverThirdPosition;
string selectedForFourthPosition = predictionPageView.DriverFourthPosition;
string selectedForFifthPosition = predictionPageView.DriverFifthPosition;
string raceTitle = predictionPageView.RaceTitle;
//Prepare for sending to the Service Layer
PredictionDTO prediction = new PredictionDTO();
prediction.RaceTitle = raceTitle;
//More Filling of the DTO here....
//...
//...
IPredictionService predictionService = new PredictionService();
predictionService.ProcessPrediction(prediction);
}
Решение
IPredictionService predictionService = new PredictionService();
.
Это действительно будет зависеть от многих факторов:
- .
- срок службы и срока службы докладчика
- Если вы используете любой инструмент DI
- Если услуга должна быть расположена
- Если у сервиса есть какой-то время ожидания (например, если он WCF прокси )
Так по сути, это не обязательно архитектурный дизайн - это большее решение.
Если вы используете инструмент DI, вы либо:
.IPredictionService predictionService = diContainer.Resolve<IPredictionService>();
или даже лучше , ни один из вышеперечисленного и просто объявить его как имущество, и di Tool может заполнить его, когда оно создает докладчик.