undefined

Большая задача: Паттерн проектирования MVC

Java Multithreading
4 уровень , 14 лекция
Доступна

— Привет, боец!

— Поздравляю тебя с повышением уровня квалификации. Нам нужны отчаянные парни.

— Уверен, у тебя есть еще много нерешенных задач. Самое время решить парочку из них!

undefined
26
Задача
Java Multithreading, 4 уровень, 14 лекция
Недоступна
MVC (1)
Привет! Эта задача будет на паттерн MVC - Model-View-Controller. Мы вместе построим архитектуру используя MVC. Разберись подробно, что и почему нужно реализовывать так, как я тебе покажу. Тебя, скорее всего, на собеседовании спросят об этом паттерне либо дадут задание, в котором нужно будет его реализовать.
undefined
7
Задача
Java Multithreading, 4 уровень, 14 лекция
Недоступна
MVC (2)
1. Создай пакет controller, в котором создай класс Controller. Этот класс будет получать запрос от клиента, оповещать Модель об этом, а Модель, в свою очередь, будет обновлять ModelData. 2. Добавь в контроллер поле Model model вместе с сеттером. 3. В контроллере создай публичный метод void onShowA
undefined
26
Задача
Java Multithreading, 4 уровень, 14 лекция
Недоступна
MVC (3)
Чтобы понимать, в правильном ли направлении ты движешься, тебе надо видеть данные. Поэтому: 1. В пакете view создай класс UsersView, реализующий View. Он будет отображать список пользователей в консоль. 2. В UsersView создай поле-контроллер, также создай ему сеттер. 3. Реализуй логику метода refre
undefined
13
Задача
Java Multithreading, 4 уровень, 14 лекция
Недоступна
MVC (4)
Пора заменять нашу фейковую Модель на реальную, которая будет получать данные из DataSource. В пакет model.service я добавил сервис для работы с пользователями. Также в корне этой задачи ты найдешь утильный класс Util. 1. Аналогично FakeModel создай модель MainModel. 2. Т.к. Модель обращается к се
undefined
13
Задача
Java Multithreading, 4 уровень, 14 лекция
Недоступна
MVC (5)
В сервисе есть метод, который возвращает всех удаленных пользователей. Давай их отобразим. 1. Распредели методы по классам MVC: public void fireEventShowDeletedUsers() { ...onShowAllDeletedUsers(); } public void onShowAllDeletedUsers() { ...loadDeletedUsers(); } public void loadDeletedUsers() {
undefined
26
Задача
Java Multithreading, 4 уровень, 14 лекция
Недоступна
MVC (6)
Функционал отображения удаленных пользователей есть, а самих таких пользователей нет. Давай это исправим. Давай сделаем новую Вью, которая будет отвечать за редактирование одного конкретного пользователя. UsersView отображает список пользователей. EditUserView будет отображать данные о редактировани
undefined
26
Задача
Java Multithreading, 4 уровень, 14 лекция
Недоступна
MVC (7)
1. Распредели методы по классам MVC: public void onOpenUserEditForm(long userId) { ...loadUserById(userId); ...refresh(...getModelData()); } public void fireEventOpenUserEditForm(long id) { ...onOpenUserEditForm(id); } public void loadUserById(long userId) { User user = userService.getUsersById(u
undefined
26
Задача
Java Multithreading, 4 уровень, 14 лекция
Недоступна
MVC (8)
1. Следуя принципу MVC аналогично реализации предыдущих методов сделай следующее: напиши логику удаления пользователя. После удаления должен отображаться список пользователей. Распредели методы по классам MVC.
undefined
7
Задача
Java Multithreading, 4 уровень, 14 лекция
Недоступна
MVC (9)
Это последнее задание по MVC. 1. Следуя принципу MVC аналогично реализации предыдущих методов сделай следующее: напиши логику обновления пользователя. После обновления должен отображаться список пользователей. Распредели методы по классам MVC, используя следующие сигнатуры публичных методов: void f
Комментарии (297)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Anonymous #2524703 Уровень 25
15 июля 2021
Для понимания, попробуйте реализовать это в своей проге. Не обязательно использовать базу данных и сайт. Просто соедините через контроллер вьюшку с классами, отвечающими за основную логику. Типа то, что происходит внутри, через контроллер приходит туда, что видит пользователь. И от того, что делает пользователь, приходят запросы в контроллер, который в свою очередь запускает методы с внутренней логикой, и возвращает результаты назад. Удобная и простая штука, если понять ее хорошо.
Maks Panteleev Уровень 37 Москва Россия
6 июня 2021
Чет я так долго готовился к этой задаче, столько всего изучал, а в итоге оказалось она фуфелом каким то, где элементарно как обезьянка по инструкции все кодишь( то ли я слишком умный стал, то ли слишком тупой и не понимаю высшего смысла)
Иван Уровень 39 Москва
21 мая 2021
Решил сам, но с MVC есть ещё вопросы. Вводных в задании не всегда хватает.
Darth Nihilus Уровень 35 Казань
13 мая 2021
Сделал, но не скажу, что понимания сильно прибавилось)
Михаил Уровень 29 Уфа Россия
11 мая 2021
Не читайте комментарии, и просто делайте
Flexo Уровень 41 New New York
1 мая 2021

editUserView.fireEventUserChanged("Капитан Бобров", 123, 42);
Оу май, неужели я справился с последним пунктом за 5 минут и прошёл с первой попытки? Боги, неужели я усвоил эти девять кругов абсолютной, беспросветной, полнейшей абстракции? 😎
Ivan Уровень 29
21 апреля 2021
Господа, при возникновении NullPointerException проверьте main, точно ли вы все создали? Сэкономлю кому то попыточек а может и нервишек -)
Deft Уровень 35 Москва
10 апреля 2021
Дошел до пятого уровня задачи по MVC.... Начал делать понял что не совсем корректно реализую , нажал кнопку обнулить решение задачи и ППЦ мне обнулили все решение до 1 уровня....Они издеваются???? Пропало всякое желание делать эту задачу
Е К Уровень 40 Краснодар Россия
24 марта 2021
Вставлю свои пять копеек: После решения последнего 9 уровня открылся дзен) Всё на самом деле не так уж и запутано как могло показаться в процессе. Путают больше условия заданий - мозги в кучку сложно собрать после первого прочтения практически каждого условия начиная уровня с третьего... То как я понял происходящее. Постараюсь пояснить, где-то упрощая. Поправьте, если что-то не так. - У нас есть База Данных(БД) - роль в нашей задаче = пакеты dao + bean - У нас есть некая служба доступа(Сервис) к этой БД = model.service. Причем право пользования этим Сервисом есть только у Model(бизнес логика). - У нас есть бизнес логика(БЛ) или главный алгоритм программы = MainModel, в пакете model - Для MainModel нужно отдельное место для хранения оперативных данных, переменных, констант = MadelData. Там только fields + getters&setters - У БЛ есть задача отображать инфо, взаимодействовать с пользователем = пакет view - Чтобы исключить перегрузку БЛ лишними методами работы с пакетом view создан Controller = пакет controller - И есть некая утилита, которая облегчает жизнь Сервису, предоставляя прямой доступ к некоторым данным БД с помощью своих методов, причём статичных = класс Util (я так понял его назначение).
Станислав Бынеев Уровень 28 Москва
12 марта 2021
Насколько я понял происходящее: View По сути интерфейс для пользователя. Ловит инпут от пользователя и распечатывает конечный результат. Controller Реагирует на инпут от пользовател и управляет моделью. Model Взаимодействует с сервисами, чтобы получить необходимую информацию. ModelData Место, где хранится скомпилированная для пользователя информация. DAO Интерфейс для работы с базой