|
|
|
Еще раз о MVC2
|
|||
|---|---|---|---|
|
#18+
Почитал о 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 ? Если можно маленький примерчик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 10:32:43 |
|
||
|
Еще раз о MVC2
|
|||
|---|---|---|---|
|
#18+
Маленький примерчик неполучится... Я практически всегда делаю так: DO объект, DAO каторый из БД или еще откуда нибудь берет данные, некий Service класс каторый логически и функционально представляет бизнесс логику приложения. А в action'e работаем только с Service классом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 10:47:24 |
|
||
|
Еще раз о MVC2
|
|||
|---|---|---|---|
|
#18+
Что непонятного? Action в Struts выполняет роль контроллера. JSP-страницы роль View. Сделайте класс (возможно Bean) который будет выполнять действия с БД - это будет Model. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 11:26:27 |
|
||
|
Еще раз о MVC2
|
|||
|---|---|---|---|
|
#18+
ТимоНМаленький примерчик неполучится... Я практически всегда делаю так: DO объект, DAO каторый из БД или еще откуда нибудь берет данные, некий Service класс каторый логически и функционально представляет бизнесс логику приложения. А в action'e работаем только с Service классом. deja vu Последнее время пришли практически к такой же архитекруте. Сейчас задумываюсь над рекомендациями комрада Фаулера по объединению уровней DO и Service. Кажется в этом есть какая-то логика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 13:37:48 |
|
||
|
Еще раз о MVC2
|
|||
|---|---|---|---|
|
#18+
Неподелитесь ссылками или документацией? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 14:23:52 |
|
||
|
Еще раз о MVC2
|
|||
|---|---|---|---|
|
#18+
Обсуждение . Там же есть ссылка на статью. Смысл в том как сбалансировать логику между бизнес сущностями и сервисами. Мы тут с коллегой обсудили и все же вывод один. В бизнес сущностях только работа с полями этой сущности без каких-либо интеграционных моментов(XML, Persistence и пр). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 15:22:31 |
|
||
|
Еще раз о MVC2
|
|||
|---|---|---|---|
|
#18+
KachalovСделайте класс (возможно Bean) который будет выполнять действия с БД - это будет Model и ТимоНService класс каторый логически и функционально представляет бизнесс логику приложения Это все ясно, но откуда вызывать эти класы из контроллера? авторК примеру в struts это делаем в Action 2Kachalov в Struts Action не контроллер, а компонент модели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 19:28:10 |
|
||
|
Еще раз о MVC2
|
|||
|---|---|---|---|
|
#18+
cubв Struts Action не контроллер, а компонент модели. - может я чего-то не понимаю, так как сам Struts не использую, но вот тут по русски написано обратное :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 19:53:09 |
|
||
|
Еще раз о MVC2
|
|||
|---|---|---|---|
|
#18+
KachalovСделайте класс (возможно Bean) который будет выполнять действия с БД - это будет Model. Истинно так. У меня это обычно класс типа Session Bean, который я обзываю Executor который содержит в себе все методы, которые выполняют нужные в приложении операции с базой данных - добваление / обновление / удаление / чтение. Обычно я создаю пул объектов этого класса. При активации объект Executor из пула берет соединение с БД (из другого отдельного пула), при пассивации соединение возвращает. В случае использования Hibernate или другого ORM при активации объект Executor содержит в себе ORM сессию, при активации сессию соединяет с БД (reconnect), при пассивации сессию закрывает. Все очень удобно и эффективно. В терминологии ТимоН это есть не что иное, как его "DO объект, DAO каторый из БД или еще откуда нибудь берет данные, некий Service класс". Пул таких объектов большого смысла не имеет, но уменьшает объем работы для GC. Кроме того, при количестве методов 200 и более в приличном приложении время создания объекта Executor становится соизмеримо со временем его доставания из пула, что в сочетании с экономией на GC уже придает пулу смысл. Тем более для Wев-приложения, где на каждый запрос, требующий Model, надо либо создать Executor, либо достать его из пула. Этот подход у меня одинаков при использовании Struts и JSF. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 21:36:38 |
|
||
|
Еще раз о MVC2
|
|||
|---|---|---|---|
|
#18+
cub2Kachalov в Struts Action не контроллер, а компонент модели. Ерунда. Struts Action это контроллер для web уровня, который трансформирует пользовательский ввод в бизнес сущность (Модель). Вызывает бизнес логику (Обратно Модель), и выбирает View для представления пользователю. На лицо все признаки контроллера. А компонентность к MVC не надо приплетать. Это совсем другая тема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2006, 12:16:55 |
|
||
|
Еще раз о MVC2
|
|||
|---|---|---|---|
|
#18+
М.Голованов Истинно так. У меня это обычно класс типа Session Bean, который я обзываю Executor который содержит в себе все методы, которые выполняют нужные в приложении операции с базой данных - добваление / обновление / удаление / чтение. Обычно я создаю пул объектов этого класса. При активации объект Executor из пула берет соединение с БД (из другого отдельного пула), при пассивации соединение возвращает. В случае использования Hibernate или другого ORM при активации объект Executor содержит в себе ORM сессию, при активации сессию соединяет с БД (reconnect), при пассивации сессию закрывает. Все очень удобно и эффективно. Чревато ядерной смесью бизнес логики и нюансов работы с БД. М.Голованов В терминологии ТимоН это есть не что иное, как его "DO объект, DAO каторый из БД или еще откуда нибудь берет данные, некий Service класс". Ну персисттите Вы наверно другие объекты. Так что ваш бин это смесь сервиса и доступа к данным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2006, 12:20:40 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34069262&tid=2147755]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
166ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 456ms |

| 0 / 0 |
