Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для Левиафам
38 / 33 / 12
Регистрация: 31.05.2012
Сообщений: 586

MVC подробно

05.07.2017, 08:54. Показов 655. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! В общем я решил паттерн MVC подробно изучить и запутался. Допустим в Spring MVC контроллер имеет методы: обновить,удалить,получить..... и каждый метод принимает на вход модель. Допустим в методе который возвращает сущность, юзается сервис по получения данных и эти данные записывает в модель, а потом уже возвращает ретурном модель, где резолвер передает на вью и сама вью по ключу принимает модель (приводит к определенному типу) и уже отображает данные. Здесь сама модель работает как обычная мапа , которая не привязана к конкретному типу и вьюха сама должна понимать чего ждет.
Теперь я просто загуглил паттерн MVC и увидел другое к примеруhttp://www.tutorialspoint.com/... attern.htm. В этой статье сам контроллер имеет конструктор и этот конструктор принимает модель с вьюхой и инжектит в свои поля, потом там описаны гетеры и сетеры для модели, а что самое интересно модель там имеет конкретный тип. В общем всё по другому представлено. А если в данном примере я хочу работать не конкретносо студентом, а хочу допустим отобразить список студентов, то мне нужно еще один контроллер писать? Думаю это странно. Наверно лучше в контроллер студентов передавать не конкретную модель а мапу с дженериком (тупо контейнер куда ложим и по ключу забираем) и так же убрать гетеры и сетеры или можно оставить. Так будет более гибко.....


помогите разобраться и по полочкам объяснить, у кого есть опыт на практике в этом7 Как сделать гибко и красиво?? Буду жутко благодарен товарищи!!!!


Я подумал и реши что вот такая модель будет гибка:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Model {
 
    private LinkedHashMap<String,Object> map;
 
     public void setAttrib(String key,Object object){
     map.put(key,object);
    }
 
    public Object getAttrib(String key){
         return map.get(key);
    }
 
}
Сюда можно класть всё что угодно, только нужно будет знать вьюхе или еще кому - к какому типу преобразовать (ключ будет подсказкой)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.07.2017, 08:54
Ответы с готовыми решениями:

Как широко применяется MVC в программировании на Java? Стоит ли изучать MVC?
Здравствуйте. Начинающий java-программист. Буквально недавно только закончил изучать Core. Теперь готовлюсь к собеседованиям и своей первой...

Подскажите, где ПОДРОБНО прочитать о classloader?
В спецификации, как я понял, его подробно не рассматривают. Так где можно почитать?

Может подробно объясните задания
Разработать иерархию классов «Данное», «Байт» - целое число размера 1 байт, «Слово» - целое число размера 4 байта, «Число» - вещественное...

3
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
05.07.2017, 08:59
Цитата Сообщение от Левиафам Посмотреть сообщение
private LinkedHashMap<String,Object> map;
public void setAttrib(String key,Object object){
* * *map.put(key,object);
* * }
public Object getAttrib(String key){
* * * * *return map.get(key);
* * }
1) хрень какая-то, зачем это все городить, если можно возвращать просто мапу?
2) передавай тип данных в урле /service/{type}/{id}
0
 Аватар для Левиафам
38 / 33 / 12
Регистрация: 31.05.2012
Сообщений: 586
05.07.2017, 09:09  [ТС]
или может еще типизированным сделать например так

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Model<T> {
 
    private LinkedHashMap<String,T> map;
 
     public void setAttrib(String key,T object){
     map.put(key,object);
    }
 
    public Object getAttrib(String key){
         return map.get(key);
    }
 
}

Что из них будет лучше? Или всё это полный бред вообще?


Добавлено через 15 секунд
Цитата Сообщение от xoraxax Посмотреть сообщение
1) хрень какая-то, зачем это все городить, если можно возвращать просто мапу?
тогда вообще проще мапой пользоваться?...я прост посмотрел как у других фреймворков как wicket у которой есть своя модель и примерно так же реализована, и даже у ModelAndView в спринге примерно так же обернуто. Зачем тогда эти обертки?? Что к чему вообще?
Цитата Сообщение от xoraxax Посмотреть сообщение
передавай тип данных в урле /service/{type}/{id}
не совсем понял, можно на пальцах как для обезьяны пояснить?
0
 Аватар для TurboDuck
50 / 49 / 13
Регистрация: 23.11.2015
Сообщений: 401
06.07.2017, 08:34
Цитата Сообщение от Левиафам Посмотреть сообщение
или может еще типизированным сделать например так

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Model<T> {
 
    private LinkedHashMap<String,T> map;
 
     public void setAttrib(String key,T object){
     map.put(key,object);
    }
 
    public Object getAttrib(String key){
         return map.get(key);
    }
 
}
Не проще IoC использовать? Spring DI например.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.07.2017, 08:34
Помогаю со студенческими работами здесь

Где подробно почитать про MVC?
Доброго времени суток!!! Подскажите пожалуйста где можно подробно почитать про MVC? Заранее большое спасибо!!!

связь MVC и MVVM. Трудно ли освоить mvc параллельно с изучением ASP.NET
Здравствуйте, начал изучать ASP.NET для курсовой работы. Начал читать &quot;Мак-Дональд М., Фримен А., Шпушта М. Microsoft ASP.NET 4 с примерами...

ASP.net MVC против MVC обычного
Здраствуйте, читая книгу &quot;Сандерсон С - ASP.NET MVC3 Framework с примерами на C# для профессионалов&quot; я заметил что описание...

Стоит ли изучать asp.net mvc 4 из за скорого выхода asn.net mvc vNext ?
Доброго вечера! Как я узнал, Microsoft скоро планирует выпустить новый веб-фреймворк с названием vNext который позиционируется как...

Разница между MVC 4 и MVC 5
Подскажите пожалуйста основные различия между 4 и 5 версией. В наличии есть книга Фримана по MVC 4ой версии, возможно ли по ней обучаться...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru