Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 2
Регистрация: 25.08.2012
Сообщений: 108
1

NInject, паттерны репозиторий и UoW

21.01.2016, 11:55. Показов 1157. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем! Не могу нигде найти вразумительную инфу.
Ребят, у меня такой вопрос:

Я хочу реализовать многослойную слабосвязную архитектуру приложения.
1. К примеру у меня есть общий интерфейс для репозиториев(ну либо отдельно несколько интерфейсов для каждого репозитория)
2. Есть нинжект, с помощью которого я хочу реализовать слабое связывание с классами репозиториев.
3. Есть паттерн UoW с помощью которого я хочу реализовать общий класс-контекст для всех репозиториев, там к примеру типа такого:
C#
1
2
3
4
5
6
7
public class DataContext
{
public IOrdersRepository;
public IProductsRePository;
........
 
}
Могу ли я реализовать как нибудь такую систему?
В чем собственно суть проблемы: в примерах везде все реализовано через конструктор контроллера - то есть 1 контроллер имеет 1 конструктор через который он получает ссылку на объект типа интфейса - к примеру:
C#
1
2
3
4
5
6
7
8
9
10
class HomeController:controller
{
private readonly IorderRepository orders;
public HomeController(IOrderRepository rep)
{
orders=rep;
}
 
 
}
Так вот - я не хочу что бы контроллер получал ссылку на интерфейс. Мне надо что бы контроллер получал ссылку на контекст данных со всеми репозиториями, к примеру:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class HomeController:controller
{
private readonly DataContext context;
public HomeController(DataContext con)
{
Context=con;
}
public ActionResult Index()
{
 
Context.Orders.GetAll();
}
 
}
Вобщем возможно ли реализовать такой DataContext класс, в котором будет реализовано слабое связывание нескольких интерфейсов?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.01.2016, 11:55
Ответы с готовыми решениями:

Суть Ninject
Всем привет! Можно ли рассказать мне про внутренности Ninject, так сказать behind the scenes. Как...

Ninject и UnitOfWork
Кто может простыми словами объяснить в чем их коренное отличие? Поскольку и то и другое для...

Ninject в asp.net core 2.0
как работает ninject и как его подключить asp.net core 2.0

Внедрение зависимостей в .NET Ninject
Здравствуйте я читал литературу по "Внедрение зависимостей в .NET" мне нужно получше разобраться с...

4
1 / 1 / 2
Регистрация: 25.08.2012
Сообщений: 108
04.02.2016, 11:47  [ТС] 2
Ребята, вопрос еще актуален, что никто не может подсказать?
0
Эксперт .NET
12079 / 8388 / 1281
Регистрация: 21.01.2016
Сообщений: 31,601
04.02.2016, 11:53 3
А в текущем контексте разве интерфейсы как-то связаны? Или я просто не понял вопроса...

Добавлено через 25 секунд
Уточните, что вы имели в виду
0
1 / 1 / 2
Регистрация: 25.08.2012
Сообщений: 108
28.02.2016, 01:15  [ТС] 4
Короче я хотел что бы получился класс, который содержит поля, тип которых равен IRepository<Entity>. К примеру класс DataManager c полями типа IRepository<Record>, IRepository<Person> ... итд. Проблему решил, просто надо было правильно реализовать property injection - добавить атрибут [Inject] к моему классу DataManager.
0
325 / 136 / 28
Регистрация: 18.09.2014
Сообщений: 167
29.02.2016, 10:37 5
Вас не смутит, что при вызове любого контроллера при таком подходе в памяти поднимутся все репозитории проекта?
0
29.02.2016, 10:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.02.2016, 10:37
Помогаю со студенческими работами здесь

Ninject, дополнение proxy-класса
Есть код: IKernel kernel = new StandardKernel(); SomeUnit unit =...

Ninject как заменить файл NinjectWebCommon.cs?
По совету форумчан я пошёл бобать теорию. И до ботался. Вот ссылка на то, что изучаю:...

Работа Ninject и UnitOfWork в разные проектах
Добрый вечер! Такая ситуация, есть солюшен, большой, состоит из самого сайма на mvc, dal уровня...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru