Понимание веб-разработки на Java и разделения логических уровней - PullRequest
0 голосов
/ 20 июля 2010

Как при разработке приложений Java EE разделить бизнес-логику, чтобы ее можно было повторно использовать?

Я унаследовал приложение, в основном модель 1. Бизнес-логика находится в JSP, сервлетах и ​​коде DAO.*

Я хочу отделить бизнес-логику, но меня смущают все существующие фреймворки и т. Д.

Я смотрю на Hibernate с JPA, чтобы справиться с сохранением всей базы данных.В настоящее время весь SQL кодируется вручную, а отдельный SQL используется для разных СУБД.Мои DAO будут вызывать код, необходимый для постоянства.

Я думаю об использовании Struts для моего веб-слоя.Часть, которую я не понимаю, это бизнес-логика.

Я не хочу, чтобы моя логика была привязана к веб-уровню, потому что я хочу повторно использовать логику в приложении Java SE.

Я думал о том, чтобы поместить бизнес-логику в классы Entity, но это кажется плохой идеей.

Существуют ли какие-либо технологии или шаблоны, которые можно использовать в качестве руководства для создания бизнес-логики многократного использования?

Если мне не ясно, я буду редактировать.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 20 июля 2010

Чтобы отделить ваш код веб-интерфейса (представление) от бизнес-логики (контроллера) и данных (модели), вы можете следовать шаблону MVC .

Вы можете иметь доступ к своим контроллерамдругие классы, которые содержат повторно используемую бизнес-логику, которая будет использоваться в ваших приложениях Java SE.

Существует множество платформ, которые помогут вам создавать веб-приложения в этом стиле, такие как Grails (использует Groovy), Play или Roo,Но поскольку вы сказали «предприятие», вам следует взглянуть на Spring Framework и его модуль MVC.Spring предлагает хорошую интеграцию с Hibernate и позволяет вам следовать шаблону MVC с вашими веб-приложениями.

0 голосов
/ 22 июля 2010

Я бы сказал, возьми кусочек еды. Сначала решите самые большие проблемы, которые в вашем случае имеют бизнес-логику на страницах jsp. Вы можете сделать это, используя любой веб-фреймворк MVC (Struts, Spring MVC, Grails - все хорошо. Выберите тот, который вам наиболее удобен).

Следующая проблема - это организация вашей бизнес-логики на отдельном уровне модели, который могут вызывать ваши контроллеры. Spring - хороший DI-фреймворк для организации и начальной загрузки вашего приложения. Кроме того, Spring поддерживает ряд веб-инфраструктур MVC, включая Struts, JSF и т. Д.

Последняя проблема - ваш слой Дао. Вы упомянули, что хотите использовать Hibernate / JPA. Я не знаю, насколько вы знакомы с Hibernate, но убедитесь, что вы пытаетесь решить реальную проблему, переключившись на Hibernate (поскольку переход на Hibernate обычно требует значительных затрат и головной боли).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...