@Kinhagen

Что значит инъецировать, а также создавать один класс от другого (паттерн MVP) в C#?

Здравствуйте!
Есть схема по взаимодействию классов друг с другом по принципу MVP (Model-View-Presenter). (1) Одно взаимодействие описано так: Presenter инъецирует (в скобках добавлено Databases) Services. (2) Или другое взаимодействие: Presenter создаёт (в скобках CurrentRecord) Model.
Я знаю, что (1) подразумевает Dependency Injection, только не понимаю как это здесь должно работать, т.к. с DI еще не приходилось сталкиваться.
И по (2) тоже вопрос: значит ли это, что нужно в классе Presenter создавать объекты типа View?
Благодарю за любые наводки.
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
@kttotto
пофиг на чем писать
1. Инъецирует, значит не создает экземпляр внутри себя (т.е. не делает new Service()), а принимает Service как параметр, чаще всего как параметр конструктора
var service = new Service();
var presenter = new Presenter(service);

2. Да, это значит, что презентер должен создать внутри себя модель и вернуть ее для отображения. И в тексте не написано, что это view. Это две разные модели.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Kinhagen Автор вопроса
eRKa Спасибо. (2) Да, извиняюсь, имела в виду Model, а не View, опечатка. А что может значить CurrentRecord в скобках? Это ведь какая-то текущая модель получается. Это как примерно в коде может выглядеть?
Тут еще к примеру стоит: от View (это уже не опечатка :) ) создаётся один единственный экземпляр через DI Container. Что такое DI Container?, это и есть когда "что-то" через параметр передаётся?
(1) А здесь наверное в скобках имеется в виду Сервис для общения с Database. Т.е. Presenter берёт в себя Service как параметр конструктора, тем самым динамический связываясь с ним, а через Service идет диалог с базой данных, наверное так?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы