Необходимо ли, чтобы сервисный уровень в проекте Java EE взаимодействовал с сущностями через уровень DAO?

Я читаю эту статью по EJB 3.0, где автор описывает архитектуру, в которой сервисный уровень взаимодействует с сущностями через DAO, реализованный как сессионный компонент без сохранения состояния.

Я пытаюсь понять, зачем нам нужен этот дополнительный уровень. Почему сервисный уровень не может напрямую общаться с сущностями? Мне приходит в голову -простота тестируемости. Мы можем легко протестировать сервисный уровень, смоделировав DAO.

Это единственная причина или есть и другие?

5
задан Arjan Tijms 10 March 2013 в 09:53
поделиться