Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Оптимизация одинакового кода в контроллерах MVC
|
|||
|---|---|---|---|
|
#18+
В приложении ASP.NET MVC есть виджет, выводящий список последних активных тем форума, встраиваемый на различные страницы (не лейаут); данные для виджета запрашиваются асинхронно через метод GetForums(для примера), который появляется в различный контроллерах. Каким образом оптимизировать код вывода данных на серверной части ? Как это происходит сейчас в терминах MVC 1) Во вьюху добавляю вызов виджета (тут проблем нет, код минимальный). Указываю, что данные запрашиваются через метод GetForums 2) В контроллер добавляю сигнатуру метода GetForums, возвращающего данные в JSON-формате. Проблемы - сигнатуру метода приходится искать в контроллерах, в которых уже реализован данных метод для этого виджета 3) Добавляю реализацию метода GetForums - проверка входных параметров, возврат результата из слоя бизнес логики. Проблемы: дублируется код в каждом контроллере, реализующем серверный код для данного виджета Мои мысли по решению данной задачи двумя способами (без внедрения дополнительных паттернов, т.к. не знаю какие тут пригодятся) 1) Реализовать метод GetForums в базовом контроллере и если в контроллере необходимо реализовать данный метод наследоваться от данного базового контроллера. Тут конечно сразу всплывает главный минус, который обраковывает данный вариант, - что если виджетов будет много. 2) Контроллеры наследовать от интерфейса, который описывает сигнатуру методов необходимых для работы данного виджета. Реализацию этих методов вынести в дополнительный слой бизнес логики. Что-то вроде бизнес-логики по выводу данных для вьюх веб-приложения. Что можете подсказать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2017, 17:14 |
|
||
|
Оптимизация одинакового кода в контроллерах MVC
|
|||
|---|---|---|---|
|
#18+
blest, Я не понял нифига. В чём проблема для каждого виджета сделать отдельный контроллер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2017, 18:33 |
|
||
|
Оптимизация одинакового кода в контроллерах MVC
|
|||
|---|---|---|---|
|
#18+
hVosttblest, Я не понял нифига. В чём проблема для каждого виджета сделать отдельный контроллер? По моей логике было невозможно из вьюх одного контроллера делать асинхронные запросы в другой контроллер. Собственно вот оно решение, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 17:14 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=39516813&tid=1355442]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 343ms |

| 0 / 0 |
