Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Odrin
0 / 0 / 0
Регистрация: 30.05.2014
Сообщений: 3
1

Архитектура MVC приложения

30.05.2014, 11:33. Просмотров 846. Ответов 1
Метки нет (Все метки)

Добрый день.
Уже несколько дней думаю над архитектурой будущего веб- приложения и никак не могу найти оптимальное решение в рамках MVC.
Итак, есть некая услуга. Она состоит из двух услуг: "А" и "Б". У пользователя может быть подключена только услуга "А", либо "А+Б". Если "А+Б", то у пользователя кроме возможностей услуги "А" в интерфейсе появляются возможности услуги "Б" (больше кнопок/страниц/сценариев).
И все это дело в двух вариантах: версия для планшетов и версия для телефонов (упрощенная с урезанным функционалом).

Итого получается 4 варианта интерфейса:
1) Планшетный, услуга "А"
2) Планшетный, услуга "А+Б"
3) Мобильный, услуга "А"
4) Мобильный, услуга "А+Б"

Соответственно логика контроллеров у мобильной и планшетной версии одинакова. Единственное отличие - в мобильной версии не будет использоваться часть функций. Т.е. хотелось бы иметь общий серверный код для всех вариантов услуги (что бы не дублировать код и не править его сразу в нескольких местах).
При этом вьюхи во многом отличаются. Фактически, многие страницы будут иметь 4 разных варианта. И если с вариантами услуги все более-менее просто - везде вписать проверку "А" или "А+Б" и отображать доп. кнопки, если необходимо, то с мобильной/планшетной версией я зашел в тупик, т.к. у них различные структуры html и разные css. Делать адаптивно не получится - интерфейсы значительно отличаются, а на руках уже есть две верстки, два различных сайта.

Как все это разрулить в рамках одного MVC приложения? Я смотрел в сторону area, но на сколько я понял, не получится сделать общие контроллеры для различных area.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2014, 11:33
Ответы с готовыми решениями:

Архитектура приложения ASP.NET MVC 5 + Angular 2
Здравствуйте. К примеру, мы делаем на стороне сервера два контроллера HomeController (клиентская...

Трехуровневая архитектура в MVC
Подскажите, мне нужно создать приложение с использованием ASP.NET MVC + MS SQL +ORM Entity...

ASP.NET MVC трехуровневая архитектура
Суть заключается в следующем, мне необходимо реализовать проект ASP.NET MVC (задание на...

Архитектура приложения
На курсовую необходимо разработать такое приложение, чтобы на отдельном уровне был back-end (сервер...

1
y-fox
518 / 510 / 68
Регистрация: 19.09.2011
Сообщений: 826
30.05.2014, 15:37 2
Лучший ответ Сообщение было отмечено Odrin как решение

Решение

Ну, если нужно только вьюху подставлять особую то советую сделать так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static class DisplayModesBinder
    {
        public static void Bind(DisplayModeProvider provider)
        {
            provider.Modes.Clear();
            provider.Modes.Add(new DefaultDisplayMode("tablet") { ContextCondition = c => c.IsTablet() });
            provider.Modes.Add(new DefaultDisplayMode("mobile") { ContextCondition = c => c.IsMobile() });
            provider.Modes.Add(new DefaultDisplayMode("") { ContextCondition = c => true });
        }
 
        public static bool IsTablet(this HttpContextBase httpContext)
        {
            ///Some logic here
        }
 
        public static bool IsMobile(this HttpContextBase httpContext)
        {
            ///Some logic here
        }
    }
И в global.asax
C#
1
2
3
4
protected void Application_Start()
        {
            DisplayModesBinder.Bind(DisplayModeProvider.Instance);
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2014, 15:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Реализация структуры приложения mvc
Здравствуйте, проконсультируйте пожалуйста по нескольким вопросам, связанным со структурой...

Пример приложения ASP.NET MVC
Есть ли подробный, пошаговый и современный пример нетривиального приложения на MVC 5? Имею ввиду...

Можно ли создавать веб-приложения без MVC
Друзья,помогите разобраться,пожалуйста. В visual studio 2010 web developer при создании проекта...

Трудности с выбором сервера для MVC приложения
Необходимо запаблишить MVC приложение на сервер. Существует аналог somee.com? С хостингом и доменом...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.