Понимание места DAO в Java-приложении MVC - PullRequest
1 голос
/ 13 октября 2010

Я использую (немного датированные) ссылки ниже как руководство для изучения и понимания правильного использования DAO в моих веб-приложениях.

http://balusc.blogspot.com/2008/07/dao-tutorial-data-layer.html

http://balusc.blogspot.com/2008/07/dao-tutorial-use-in-jspservlet.html

Вообще говоря, правильно ли инициализировать DAO в методе сервлета INIT (), а затем передать этот DAO в модель?Или DAO должна быть более тесно интегрирована в модель, или, возможно, часть модели?То есть ... есть ли лучший способ для Модели приобрести специализированный DAO?

По общему признанию, я расширяю свои знания предмета здесь, поэтому, если я сформулирую это плохо, я извиняюсь.Просветление всегда приветствуется.

Ответы [ 2 ]

1 голос
/ 13 октября 2010

Я не из мира Java, так что, вероятно, вы ищете не мое мнение.Но я почти уверен, что идеальный способ сделать это состоит в том, чтобы ваши DAO были слабо связаны с остальной частью вашей модели (вы, вероятно, говорите о бизнес-классах DAO X) - мне принадлежат как DAO, так и бизнес-объекты«Модель», но ваш пробег может отличаться).

Таким образом, легко заменить весь слой DAO.Я создал приложение с двумя различными и полными реализациями DAO: одно с использованием Oracle DMBS, другое с MySQL.Может быть, это то, что вы ищете - и это легко, используя абстрактный шаблон фабрики.

Конечно, Java-программисты могут использовать контейнер Spring IoC для этого, я полагаю:)

0 голосов
/ 13 октября 2010

Spring реализует то, что называется фабричным шаблоном.Это позволяет пружине обрабатывать создание объектов DAO, которые используются в вашем приложении.Когда вы делаете это, реализации очень слабо связаны с вызывающим их кодом.

Использование Spring (или аналогичного инструмента) гораздо лучше, чем создание экземпляров ваших DAO в классах, которые их вызывают.

Вот учебник, в котором рассказывается об использовании Spring с DAO:

http://www.ibm.com/developerworks/java/tutorials/j-spring2/

...