У меня проблема с дизайном при реализации 1 простого веб-приложения. Я использую web-контроллер struts2, IOC и Hibernate весны как упорный слой.Как создать архитектуру слоя для веб-приложения?
Потому что это веб-приложение очень просто при попрошайничестве. Поэтому у меня есть только 2 слоя: 1 слой DAO, который используется для доступа к базе данных. Почти каждая таблица имеет отношение к DAO. 2 Action layer. Пользовательские struts2. Я удовлетворен этой архитектурой, потому что может быстро реализовать мое веб-приложение. По мере того, как проект становится больше, я обнаружил, что уровень действия становится большим и сложным, и его очень трудно использовать повторно. Я пытаюсь создать сервисный уровень, для решения сложной бизнес-логики это хорошо, но в моем приложении все еще много логики. Например: Загрузите 1 объект, сохраните 1 объект и получите сбор с помощью некоторого условия и покажите его на веб-странице. Если каждый простой метод доступа к БД имеет соответствующий метод обслуживания. Все еще стоило больших усилий. Как решить эту проблему? И я думаю, что если сервисный уровень существующий, прямой вызов DAO-уровня еще не очень хорош для моего приложения. Является ли какое-либо хорошее решение для такого небольшого веб-приложения?
Hi mwhs, Спасибо за то, что вы дадите мне такое подробное предложение об этом. Я полностью согласен с решением в крупном или среднем веб-проекте. Но для нашего небольшого веб-приложения. Хотя уровень сервера может помочь решить некоторые проблемы с повторным использованием и сделать мой код хорошим. Но я все же потратил много времени на перенос этих простых методов DAO, даже давая осмысленное имя на уровне сервера. BTW: Я использую OpenSessionInViewFilter, потому что мой проект небольшой. – Bensson
Если у вас самая худшая проблема, я бы попробовал сгенерировать код вместо того, чтобы вводить его. Обычно подход, основанный на модели (MDA/MDSD), сэкономит вам много времени на повторяющихся задачах. Проверьте проект Acceleo. – mwhs
Или, возможно, попробуйте одну из этих инфраструктур, управляемых доменом, таких как Apache ISIS, которые уберут у вас много работы. – mwhs