powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Доступ к форме из класса
10 сообщений из 35, страница 2 из 2
Доступ к форме из класса
    #38457763
HoBTID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sharmankaДа я бы и рад почитать про MVC и прочие интересные вещи, но к сожалению, у меня не студенческие лабы, а вполне конкретные задачи и Java всего лишь инструмент для их решения. Если код, который у меня выполняет задачу, занимает 5 строк, то зачем городить лес и его раздувать? Я понимаю, что это показывает крутой скилл программиста, знания паттернов, но мне не перед кем хвастаться :)
В этом случае, Вам не нужно изучать Java, освойте лучше Visual Basic или C#, хотя с C# уже могут возникнуть похожие проблемы.
Использование Java для "решения конкретных задач" - бессмысленное занятие, это будет очень долго, сложно и трудоемко.
На Java решают сложные задачи, для которых самое важное - правильная архитектура, а не какие-то бантики.
...
Рейтинг: 0 / 0
Доступ к форме из класса
    #38457770
HoBTID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew1411наверно Hibernate, Log4J и т.д. лохи писали, раз MVC не применили :) но куда его там? )))))
Лохи те, кто не понимают, какова роль Hibernate в паттерне MVC.
Не Hibernate включает в себя MVC, а наоборот, MVC может включать в себя, в том числе и Hibernate.
...
Рейтинг: 0 / 0
Доступ к форме из класса
    #38457800
Andrew1411
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HoBTID,

В итоге, вы сами говорите (причем абсолютно верно), что MVC нужен далеко не везде, но утверждаете что его надо изучать ТС в первую очередь. Вполне возможно, у него на все приложение одна форма (сомневаюсь правда, но чем черт не шутит).

В Шарп не отправляйте тех, кто "не справляется с джавой" технологии одного уровня.

При коллосальных проблемах в базах ООП, "кидать в автора" паттернами вообще не правильно.

ну и на последок - Роль Hibernate в MVC = 0.
ибо может базы вообще не быть (блокнот, граф-редактор, ...)
либо применяться другая реализация JPA,
либо же просто не применяться ORM,
либо база NoSql.

Если найдете в каталоге паттерном зависимость MVC от ORM - тогда утверждайте "Лохи те, кто не понимают, какова роль Hibernate в паттерне MVC".
...
Рейтинг: 0 / 0
Доступ к форме из класса
    #38457802
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HoBTIDУж Вы-то знаете паттерн MVC, я был полностью этом уверен, до вышеприведенного высказывания...

Хамство оставьте при себе. Я же не пишу что частота с которой вами упоминается MVC, заствляет меня сомневаться в том что вы что-то знаете о его вариациях и адаптациях под GUI. Потому что pure MVC он больше для web подходит.

HoBTIDВ контролах Swing нет контроллера , потому что его должна реализовать программа, использующая эти контролы!
Контроллер связывает представление и модель, причем модель, содержащую фактические данные,
т.е. бизнес-модель, а не модель представления.
В контролах Swing масса контроллеров. По этой причине я часто препочитаю просто следовать архитектуре Swing и реализовывать свой GUI как набор "контролов". Таким образом почти все контроллеры у меня являются частью моих собсвенных контролов.

HoBTIDРассмотрим на примере, класс JTable - контрол управления таблицей.
TableModel - интерфейс модели представления - это не бизнес-модель ,
это модель представления .
Ооо, вот мы и пришли к тому что MVC как-то со Swing не очень соотносится.

HoBTIDВ паттерне MVC и класс JTable и любой класс, реализующий TableModel относятся к View.

Угу, только MVC это три разных абстрактных слоя. А теперь оказывается, что если View это Swing, то View это множество других асбтрактных слоёв. Которым почему-то нет места в терминологии MVC.
Именно поэтому MVC для GUI и не используют.

HoBTIDSwing реализует паттерн MVVM и в нем TableModel - это ViewModel.

Ну, как бы, за уши притянуто. С одной стороны - да, похоже. С другой стороны можно поспорить.

HoBTIDНи модели, ни контроллера из паттерна MVC здесь нет (в общем случае нет, про совмещение ролей, чуть ниже).

Вот и я о том же.

HoBTIDконтроллер не DefaultTableModel и не JTable, а тот класс, который создает DefaultTableModel и JTable.

И вот тут начинается самое интересно. У контроллера MVC есть строго определенные роли. Это и обработка событий View и обновление View. Где это всё? Выходит в неком асбтрактном классе дохрена удаленном от самой модели.

HoBTIDВ заключение, контроллера нет и не может быть ни в Swing, ни в любой другой интерфейсной библиотеке,
потому что эта библиотека ничего не знает о фактических данных.
Читать как устроен Swing и почему классический MVC не подошел самому Swing как и не подходит приложениям на его основе.
http://www.oracle.com/technetwork/java/architecture-142923.html
...
Рейтинг: 0 / 0
Доступ к форме из класса
    #38458265
HoBTID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczВ контролах Swing масса контроллеров. По этой причине я часто препочитаю просто следовать архитектуре Swing и реализовывать свой GUI как набор "контролов". Таким образом почти все контроллеры у меня являются частью моих собсвенных контролов.
...
Читать как устроен Swing и почему классический MVC не подошел самому Swing как и не подходит приложениям на его основе.
http://www.oracle.com/technetwork/java/architecture-142923.html
Прочитал Roots in MVC , Separable model architecture и немного Pluggable look-and-feel architecture .
Действительно, я неверно понимал, как устроены компоненты Swing, раньше я не обращал внимания на классы xxxUI.

Теперь меня просто озарило!
Продолжая пример с таблицей.
Класс JTable - это Controller, TableUI - View, TableModel - Model.

Но, все это - View, с точки зрения прикладной программы.
Модель данных у нее должна быть своя, которая только представляет данные в виде интерфейса TableModel.
А контроллер - класс, который создает и настраивает Модель и Представление, в терминах прикладной программы.

Таким образом, получаются 2 вложенных паттерна MVxxx.
В паттерне прикладной программы View является компонент Swing,
который в свою очередь, разложен по классам по "modified MVC".
...
Рейтинг: 0 / 0
Доступ к форме из класса
    #38458293
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При чём тут вообще MVC. Тема к этому ортогональна!
...
Рейтинг: 0 / 0
Доступ к форме из класса
    #38458297
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПри чём тут вообще MVC. Тема к этому ортогональна!
Ну, как же! Без этого никак не передать ссылку на объект.
...
Рейтинг: 0 / 0
Доступ к форме из класса
    #38458421
HoBTID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНу, как же! Без этого никак не передать ссылку на объект.
Больше того! Без этого нет Джаву!
...
Рейтинг: 0 / 0
Доступ к форме из класса
    #38458422
HoBTID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНу, как же! Без этого никак не передать ссылку на объект.
Больше того! Без этого нет смысла учить Джаву!
...
Рейтинг: 0 / 0
Доступ к форме из класса
    #38458423
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ох уж эти джуниор-аркхитекторы. Как наколбасят паттернов... И ведь один хрен спалятся
на незнании core. Нет... прав был Фамусов. Собрать все книги да сжечь!

С пятницей всех! Удачных выходных.
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Доступ к форме из класса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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