|
|
|
Доступ к форме из класса
|
|||
|---|---|---|---|
|
#18+
sharmankaДа я бы и рад почитать про MVC и прочие интересные вещи, но к сожалению, у меня не студенческие лабы, а вполне конкретные задачи и Java всего лишь инструмент для их решения. Если код, который у меня выполняет задачу, занимает 5 строк, то зачем городить лес и его раздувать? Я понимаю, что это показывает крутой скилл программиста, знания паттернов, но мне не перед кем хвастаться :) В этом случае, Вам не нужно изучать Java, освойте лучше Visual Basic или C#, хотя с C# уже могут возникнуть похожие проблемы. Использование Java для "решения конкретных задач" - бессмысленное занятие, это будет очень долго, сложно и трудоемко. На Java решают сложные задачи, для которых самое важное - правильная архитектура, а не какие-то бантики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2013, 13:11:35 |
|
||
|
Доступ к форме из класса
|
|||
|---|---|---|---|
|
#18+
Andrew1411наверно Hibernate, Log4J и т.д. лохи писали, раз MVC не применили :) но куда его там? ))))) Лохи те, кто не понимают, какова роль Hibernate в паттерне MVC. Не Hibernate включает в себя MVC, а наоборот, MVC может включать в себя, в том числе и Hibernate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2013, 13:13:18 |
|
||
|
Доступ к форме из класса
|
|||
|---|---|---|---|
|
#18+
HoBTID, В итоге, вы сами говорите (причем абсолютно верно), что MVC нужен далеко не везде, но утверждаете что его надо изучать ТС в первую очередь. Вполне возможно, у него на все приложение одна форма (сомневаюсь правда, но чем черт не шутит). В Шарп не отправляйте тех, кто "не справляется с джавой" технологии одного уровня. При коллосальных проблемах в базах ООП, "кидать в автора" паттернами вообще не правильно. ну и на последок - Роль Hibernate в MVC = 0. ибо может базы вообще не быть (блокнот, граф-редактор, ...) либо применяться другая реализация JPA, либо же просто не применяться ORM, либо база NoSql. Если найдете в каталоге паттерном зависимость MVC от ORM - тогда утверждайте "Лохи те, кто не понимают, какова роль Hibernate в паттерне MVC". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2013, 13:25:33 |
|
||
|
Доступ к форме из класса
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2013, 13:26:11 |
|
||
|
Доступ к форме из класса
|
|||
|---|---|---|---|
|
#18+
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". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2013, 17:40:05 |
|
||
|
Доступ к форме из класса
|
|||
|---|---|---|---|
|
#18+
При чём тут вообще MVC. Тема к этому ортогональна! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2013, 18:00:14 |
|
||
|
Доступ к форме из класса
|
|||
|---|---|---|---|
|
#18+
maytonПри чём тут вообще MVC. Тема к этому ортогональна! Ну, как же! Без этого никак не передать ссылку на объект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2013, 18:01:30 |
|
||
|
Доступ к форме из класса
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНу, как же! Без этого никак не передать ссылку на объект. Больше того! Без этого нет Джаву! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2013, 20:28:56 |
|
||
|
Доступ к форме из класса
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНу, как же! Без этого никак не передать ссылку на объект. Больше того! Без этого нет смысла учить Джаву! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2013, 20:30:09 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38457800&tid=2128242]: |
0ms |
get settings: |
10ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
183ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 446ms |

| 0 / 0 |
