Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Оптимизация одинакового кода в контроллерах MVC / 4 сообщений из 4, страница 1 из 1
05.09.2017, 17:14
    #39515913
blest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация одинакового кода в контроллерах MVC
В приложении ASP.NET MVC есть виджет, выводящий список последних активных тем форума, встраиваемый на различные страницы (не лейаут); данные для виджета запрашиваются асинхронно через метод GetForums(для примера), который появляется в различный контроллерах.
Каким образом оптимизировать код вывода данных на серверной части ?
Как это происходит сейчас в терминах MVC
1) Во вьюху добавляю вызов виджета (тут проблем нет, код минимальный). Указываю, что данные запрашиваются через метод GetForums
2) В контроллер добавляю сигнатуру метода GetForums, возвращающего данные в JSON-формате. Проблемы - сигнатуру метода приходится искать в контроллерах, в которых уже реализован данных метод для этого виджета
3) Добавляю реализацию метода GetForums - проверка входных параметров, возврат результата из слоя бизнес логики. Проблемы: дублируется код в каждом контроллере, реализующем серверный код для данного виджета

Мои мысли по решению данной задачи двумя способами (без внедрения дополнительных паттернов, т.к. не знаю какие тут пригодятся)
1) Реализовать метод GetForums в базовом контроллере и если в контроллере необходимо реализовать данный метод наследоваться от данного базового контроллера. Тут конечно сразу всплывает главный минус, который обраковывает данный вариант, - что если виджетов будет много.
2) Контроллеры наследовать от интерфейса, который описывает сигнатуру методов необходимых для работы данного виджета. Реализацию этих методов вынести в дополнительный слой бизнес логики. Что-то вроде бизнес-логики по выводу данных для вьюх веб-приложения.

Что можете подсказать ?
...
Рейтинг: 0 / 0
05.09.2017, 18:33
    #39515952
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация одинакового кода в контроллерах MVC
blest,

Я не понял нифига.

В чём проблема для каждого виджета сделать отдельный контроллер?
...
Рейтинг: 0 / 0
06.09.2017, 17:14
    #39516647
blest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация одинакового кода в контроллерах MVC
hVosttblest,

Я не понял нифига.

В чём проблема для каждого виджета сделать отдельный контроллер?

По моей логике было невозможно из вьюх одного контроллера делать асинхронные запросы в другой контроллер.
Собственно вот оно решение, спасибо.
...
Рейтинг: 0 / 0
06.09.2017, 22:48
    #39516813
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация одинакового кода в контроллерах MVC
blestПо моей логике было невозможно из вьюх одного контроллера делать асинхронные запросы в другой контроллер.странная логика, самобичевательная я бы сказал.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Оптимизация одинакового кода в контроллерах MVC / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]