Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Куда положить метод проверки заполненности полей объекта/сущности? / 12 сообщений из 12, страница 1 из 1
02.09.2016, 21:29
    #39302968
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда положить метод проверки заполненности полей объекта/сущности?
Начитался про GRASP и GoF шаблоны, ну и решил начать применять, ну и начал с грасповского Information Expert :)
Есть у меня некий объект, сущность, которая мапится в базу.
Естественно описаны поля, геттеры, сеттеры, икьюалс, туСтринг и т.д.
Возникла необходимость создать метод, который бы проверял несколько полей на их значения, то есть они не должны быть пустыми или иметь null.
Метод самый простой, хотя тут тоже надо бы подумать о его универсальности в части оперативного добавления или удаления полей проверки, пока писать его не стал, временно пустой, чтоб не забыть. Возвращает false, если одно из полей не заполнено, и true, если все поля заполнены.
Дак вот вопрос, куда его логичнее всего включить, положить?
1. В класс с интерфейсом пользователя, в листенер кнопки, которая вызывает этот и другие методы?
2. В класс, в котором у меня идет работа с БД, то есть там где методы с sql запросами и возвратами коллекций из БД ?
3. В класс самой сущности? мне кажется этот (3-й) вопрос бредовым, но задал его потому, что вообще в целом что-то стоит в классы сущностей еще добавлять какие-нибудь методы? не говоря, конечно, о методах типа toString()
4. Еще куда-то... ?
...
Рейтинг: 0 / 0
03.09.2016, 10:58
    #39303061
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда положить метод проверки заполненности полей объекта/сущности?
Метод, который оперирует полями и свойствами одного класса должен находится в этом самом классе.
...
Рейтинг: 0 / 0
04.09.2016, 07:28
    #39303309
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда положить метод проверки заполненности полей объекта/сущности?
BlazkowiczМетод, который оперирует полями и свойствами одного класса должен находится в этом самом классе.
А если уйти от этого паттерна, и к реальной ситуации приблизиться, то в Entity классы вообще практикуется что-то включать, кроме тех методов, которые любая IDE, генерирует? У меня просто ощущение, что там не должно быть ничего лишнего... может сущность должна быть "чистой"... Или я не верно думаю?
...
Рейтинг: 0 / 0
04.09.2016, 10:29
    #39303325
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда положить метод проверки заполненности полей объекта/сущности?
NixicBlazkowiczМетод, который оперирует полями и свойствами одного класса должен находится в этом самом классе.
А если уйти от этого паттерна, и к реальной ситуации приблизиться, то в Entity классы вообще практикуется что-то включать, кроме тех методов, которые любая IDE, генерирует? У меня просто ощущение, что там не должно быть ничего лишнего... может сущность должна быть "чистой"... Или я не верно думаю?
ой да оставьте эти паттерны, делайте как вам удобней, все равно рефакторить не один раз придется.
да и само образование патерна - patter - толкать фуфло, нести пургу))
...
Рейтинг: 0 / 0
04.09.2016, 13:50
    #39303355
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда положить метод проверки заполненности полей объекта/сущности?
Nixic,
Оба подхода применяются.
Владейте обоими.
И глупая сущность с умными сервисами по её управлению
И умная сущность/толстая с глупыми но простыми сервисами.
Вообще, этот вопрос сложнейший. Был бы простой, программистов бы заменили автоматы.
Еще простые сущности применяют именно в вебе т.к. потоки.
Imho
...
Рейтинг: 0 / 0
04.09.2016, 13:58
    #39303358
Герой дня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда положить метод проверки заполненности полей объекта/сущности?
NixicНачитался про GRASP и GoF шаблоны, ну и решил начать применять, ну и начал с грасповского Information Expert :)
Есть у меня некий объект, сущность, которая мапится в базу.
Естественно описаны поля, геттеры, сеттеры, икьюалс, туСтринг и т.д.
Возникла необходимость создать метод, который бы проверял несколько полей на их значения, то есть они не должны быть пустыми или иметь null.
Метод самый простой, хотя тут тоже надо бы подумать о его универсальности в части оперативного добавления или удаления полей проверки, пока писать его не стал, временно пустой, чтоб не забыть. Возвращает false, если одно из полей не заполнено, и true, если все поля заполнены.
Дак вот вопрос, куда его логичнее всего включить, положить?
1. В класс с интерфейсом пользователя, в листенер кнопки, которая вызывает этот и другие методы?
2. В класс, в котором у меня идет работа с БД, то есть там где методы с sql запросами и возвратами коллекций из БД ?
3. В класс самой сущности? мне кажется этот (3-й) вопрос бредовым, но задал его потому, что вообще в целом что-то стоит в классы сущностей еще добавлять какие-нибудь методы? не говоря, конечно, о методах типа toString()
4. Еще куда-то... ?

Есть Entity, есть Repository - который заполняет-из/маппит-в бд сущности и есть контроллер, который оперирует репозиторием.

Я думаю, удобно было бы положить проверку на заполнение в репозиторий, как общий объект для многих контроллеров - это просто удобно, чтобы не плодить одну и ту же логику проверок в контроллерах.
...
Рейтинг: 0 / 0
04.09.2016, 19:00
    #39303409
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда положить метод проверки заполненности полей объекта/сущности?
Герой днячтобы не плодить одну и ту же логику проверок в контроллерах
а какая там общая логика.
В контроллёре А проверка if FIELD_25 равен пусто then raise
В контроллёре Б проверка if FIELD_44 равен пусто then raise
...
Рейтинг: 0 / 0
04.09.2016, 19:37
    #39303423
fsharp_fsharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда положить метод проверки заполненности полей объекта/сущности?
в метод соответствующего микросервиса
...
Рейтинг: 0 / 0
04.09.2016, 19:39
    #39303425
fsharp_fsharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда положить метод проверки заполненности полей объекта/сущности?
BlazkowiczМетод, который оперирует полями и свойствами одного класса должен находится в этом самом классе.

не обязательно. доменная модель может быть "чистой" - только данные и связи. а вся бизнес-логика - в микросервисах
...
Рейтинг: 0 / 0
04.09.2016, 23:49
    #39303504
Герой дня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда положить метод проверки заполненности полей объекта/сущности?
Petro123Герой днячтобы не плодить одну и ту же логику проверок в контроллерах
а какая там общая логика.
В контроллёре А проверка if FIELD_25 равен пусто then raise
В контроллёре Б проверка if FIELD_44 равен пусто then raise

если не общая валидация - тогда в контроллер )
...
Рейтинг: 0 / 0
05.09.2016, 00:58
    #39303512
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда положить метод проверки заполненности полей объекта/сущности?
Герой дняесли не общая валидация - тогда в контроллер )
а если валидация "мгновенная", тогда на клиента в JS.
Тут у ТС абсолютно академический вопрос про сферических коней в вакууме.
И ответа одного правильного не может быть.
Вообще, вопрос мелочный - валидация).
Начнет писать разберётся. Фреймворк подскажет.
...
Рейтинг: 0 / 0
05.09.2016, 19:57
    #39304045
Герой дня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда положить метод проверки заполненности полей объекта/сущности?
Petro123,

вроде, ТС хочет проверять перед сохранением, делать это надо на стороне Java )
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Куда положить метод проверки заполненности полей объекта/сущности? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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