Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Java EE: Domain driven design & 4-Tier / 8 сообщений из 8, страница 1 из 1
26.06.2012, 00:17
    #37854092
-=*ShamaN*=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java EE: Domain driven design & 4-Tier
Товарищи, доброго времени суток. Вопрос, в первую очередь к Javистам.
Изучил DDD, и понял, что на первом месте здесь - модель предметной области в том виде, в каком её выявил анализ.
Но проясните такую вещь, можно ли 4-слойным дизайном имитировать DDD?

Т.е., построить классы таким образом, чтобы одному Entity, который является доменной сущностью, соответствовал сеансный компонент с методами. Методы сохранения состояния этих Entity перекрыть и размапить на таблицы, где это необходимо.

Пример, как я это вижу
У entity School есть список типа Class, они относятся один(школа) ко многим(классы).
По DDD это 2 связанных класса со свойствами и методами, сбоку прикручен механизм сохранения, т.е. сами классы на первом плане.
По аналогии проецируем эти принципы на 4-слойную. Получается School и Class - это два Entity, и делаем 2 сессионных бина: SchoolBean и ClassBean, но в SchoolBean добавляем метод getClasses(), который возвращает список классов. Но для работы с сущностью Class мы должны будем обратиться к бину ClassBean, у которого есть методы для работы с классом. Аналогичным образом можно выстроить любые бины с функциями, на вход которым нужно дать School, Class и т.д.
Это так или я заблуждаюсь?
...
Рейтинг: 0 / 0
26.06.2012, 01:15
    #37854136
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java EE: Domain driven design & 4-Tier
Обычно в DDD детали работы с БД скрывают с помощью паттерна Repository .В этом есть свои плюсы и минусы. На первых порах лучше посмотреть готовые подходы других, а потом уже мастерить свое решение
...
Рейтинг: 0 / 0
26.06.2012, 01:42
    #37854147
-=*ShamaN*=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java EE: Domain driven design & 4-Tier
Seva,

А при помощи DAO и TransferObjects можно абстрагироваться в моём примере?
...
Рейтинг: 0 / 0
26.06.2012, 01:46
    #37854150
-=*ShamaN*=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java EE: Domain driven design & 4-Tier
А... кажется, понял...
По идее, слой логики сам "Не знает" ничего про методы работы с сохранением, кроме API репозитория?
...
Рейтинг: 0 / 0
26.06.2012, 08:05
    #37854272
JavaPhpLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java EE: Domain driven design & 4-Tier
-=*ShamaN*=-А... кажется, понял...
По идее, слой логики сам "Не знает" ничего про методы работы с сохранением, кроме API репозитория?

простите, можно уточнить - вы пытаетесь сделать что-то похожее на конструктор объектов 1С ?
...
Рейтинг: 0 / 0
26.06.2012, 08:20
    #37854284
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java EE: Domain driven design & 4-Tier
-=*ShamaN*=-А... кажется, понял...
По идее, слой логики сам "Не знает" ничего про методы работы с сохранением, кроме API репозитория?

Правильно.Таким образом разгружаем домен, соблюдаем принцип единичной ответсвтенности, имеем возможность выбрать любой DAL
...
Рейтинг: 0 / 0
26.06.2012, 15:14
    #37855192
-=*ShamaN*=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java EE: Domain driven design & 4-Tier
JavaPhpLover-=*ShamaN*=-А... кажется, понял...
По идее, слой логики сам "Не знает" ничего про методы работы с сохранением, кроме API репозитория?

простите, можно уточнить - вы пытаетесь сделать что-то похожее на конструктор объектов 1С ?

Нет, я пытаюсь разобраться с вариантами построения логики...
...
Рейтинг: 0 / 0
26.06.2012, 15:25
    #37855222
-=*ShamaN*=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java EE: Domain driven design & 4-Tier
SeVa-=*ShamaN*=-А... кажется, понял...
По идее, слой логики сам "Не знает" ничего про методы работы с сохранением, кроме API репозитория?

Правильно.Таким образом разгружаем домен, соблюдаем принцип единичной ответсвтенности, имеем возможность выбрать любой DAL

Хорошо, я внесу немного корректив в изначальную постановку:
1. Для сохранения объектов необходима абстракция (некий центральный DAO API), который знает, как хранить "Entity"
2. Соблюдение единичной ответственности, описанной в посте, возлагаем на организацию процесса разработки по принципу One Domain Object = One Entity + One SessionBean,

тогда логически и в голове получается тот же Domain Object, технически перевёрнутый в 2 класса.
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Java EE: Domain driven design & 4-Tier / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]