Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Еще раз о MVC2 / 11 сообщений из 11, страница 1 из 1
19.10.2006, 10:32:43
    #34065660
cub
cub
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о MVC2
Почитал о MVC, нашел на форуме http://]http://www.sql.ru/forum/actualthread.aspx?tid=338030&hl=mvc+bean ,
но так и не понял, к примеру где нужно обрабатывать БД(ins.,upd.,sel.) и т.д.
К примеру в struts в простейшем случае это делаем в Action(хотя и не рекоменд.),
а где это правильно делать если мы не используем тот же struts, в jsp(view),в
servlet(controller),в bean ?
Если можно маленький примерчик.
...
Рейтинг: 0 / 0
19.10.2006, 10:47:24
    #34065713
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о MVC2
Маленький примерчик неполучится...
Я практически всегда делаю так: DO объект, DAO каторый из БД или еще откуда нибудь берет данные, некий Service класс каторый логически и функционально представляет бизнесс логику приложения. А в action'e работаем только с Service классом.
...
Рейтинг: 0 / 0
19.10.2006, 11:26:27
    #34065890
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о MVC2
Что непонятного? Action в Struts выполняет роль контроллера. JSP-страницы роль View. Сделайте класс (возможно Bean) который будет выполнять действия с БД - это будет Model.
...
Рейтинг: 0 / 0
19.10.2006, 13:37:48
    #34066511
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о MVC2
ТимоНМаленький примерчик неполучится...
Я практически всегда делаю так: DO объект, DAO каторый из БД или еще откуда нибудь берет данные, некий Service класс каторый логически и функционально представляет бизнесс логику приложения. А в action'e работаем только с Service классом.
deja vu
Последнее время пришли практически к такой же архитекруте. Сейчас задумываюсь над рекомендациями комрада Фаулера по объединению уровней DO и Service. Кажется в этом есть какая-то логика.
...
Рейтинг: 0 / 0
19.10.2006, 14:23:52
    #34066748
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о MVC2
Неподелитесь ссылками или документацией?
...
Рейтинг: 0 / 0
19.10.2006, 15:22:31
    #34067042
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о MVC2
Обсуждение . Там же есть ссылка на статью. Смысл в том как сбалансировать логику между бизнес сущностями и сервисами.

Мы тут с коллегой обсудили и все же вывод один. В бизнес сущностях только работа с полями этой сущности без каких-либо интеграционных моментов(XML, Persistence и пр).
...
Рейтинг: 0 / 0
19.10.2006, 19:28:10
    #34067950
cub
cub
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о MVC2
KachalovСделайте класс (возможно Bean) который будет выполнять действия с БД - это будет Model
и
ТимоНService класс каторый логически и функционально представляет бизнесс логику приложения
Это все ясно, но откуда вызывать эти класы из контроллера?
авторК примеру в struts это делаем в Action
2Kachalov в Struts Action не контроллер, а компонент модели.
...
Рейтинг: 0 / 0
19.10.2006, 19:53:09
    #34067990
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о MVC2
cubв Struts Action не контроллер, а компонент модели.
- может я чего-то не понимаю, так как сам Struts не использую, но вот тут по русски написано обратное :)
...
Рейтинг: 0 / 0
19.10.2006, 21:36:38
    #34068119
М.Голованов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о MVC2
KachalovСделайте класс (возможно Bean) который будет выполнять действия с БД - это будет Model.

Истинно так. У меня это обычно класс типа Session Bean, который я обзываю Executor который содержит в себе все методы, которые выполняют нужные в приложении операции с базой данных - добваление / обновление / удаление / чтение. Обычно я создаю пул объектов этого класса. При активации объект Executor из пула берет соединение с БД (из другого отдельного пула), при пассивации соединение возвращает. В случае использования Hibernate или другого ORM при активации объект Executor содержит в себе ORM сессию, при активации сессию соединяет с БД (reconnect), при пассивации сессию закрывает. Все очень удобно и эффективно.

В терминологии ТимоН это есть не что иное, как его "DO объект, DAO каторый из БД или еще откуда нибудь берет данные, некий Service класс".

Пул таких объектов большого смысла не имеет, но уменьшает объем работы для GC. Кроме того, при количестве методов 200 и более в приличном приложении время создания объекта Executor становится соизмеримо со временем его доставания из пула, что в сочетании с экономией на GC уже придает пулу смысл. Тем более для Wев-приложения, где на каждый запрос, требующий Model, надо либо создать Executor, либо достать его из пула.

Этот подход у меня одинаков при использовании Struts и JSF.
...
Рейтинг: 0 / 0
20.10.2006, 12:16:55
    #34069262
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о MVC2
cub2Kachalov в Struts Action не контроллер, а компонент модели.
Ерунда. Struts Action это контроллер для web уровня, который трансформирует пользовательский ввод в бизнес сущность (Модель). Вызывает бизнес логику (Обратно Модель), и выбирает View для представления пользователю.

На лицо все признаки контроллера. А компонентность к MVC не надо приплетать. Это совсем другая тема.
...
Рейтинг: 0 / 0
20.10.2006, 12:20:40
    #34069283
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз о MVC2
М.Голованов
Истинно так. У меня это обычно класс типа Session Bean, который я обзываю Executor который содержит в себе все методы, которые выполняют нужные в приложении операции с базой данных - добваление / обновление / удаление / чтение. Обычно я создаю пул объектов этого класса. При активации объект Executor из пула берет соединение с БД (из другого отдельного пула), при пассивации соединение возвращает. В случае использования Hibernate или другого ORM при активации объект Executor содержит в себе ORM сессию, при активации сессию соединяет с БД (reconnect), при пассивации сессию закрывает. Все очень удобно и эффективно.


Чревато ядерной смесью бизнес логики и нюансов работы с БД.

М.Голованов
В терминологии ТимоН это есть не что иное, как его "DO объект, DAO каторый из БД или еще откуда нибудь берет данные, некий Service класс".

Ну персисттите Вы наверно другие объекты. Так что ваш бин это смесь сервиса и доступа к данным.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Еще раз о MVC2 / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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