powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Куда все-таки девать бизнес-логику
3 сообщений из 3, страница 1 из 1
Куда все-таки девать бизнес-логику
    #35122404
Zed1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть набор классов бизнес-логики, представляющие предметную область. С одной стороны, вся логика должна присутствовать в самих классах, например ограничения на допустимые значения и пр. Однако все то-же самое приходиться дублировать в БД.
Вот например есть ограничение, что нельзя удалить объект, если одно из его полей содержит ссылку на какой-нибудь другой объект (например если деталь содержит написаную технологию, то нельзя ее просто так удалить). Однако проверку на наличие технологии придется делать как в бизнес-классе, так и в БД, ведь технологию могут присвоить за секунду до попытки удаления детали, и бизнес-класс не будет об этом знать :(
...
Рейтинг: 0 / 0
Куда все-таки девать бизнес-логику
    #35122436
Dan Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Откройте для себя блокировки.
Код: plaintext
1.
----------------------------
 Verba volent, scripta manent 
...
Рейтинг: 0 / 0
Куда все-таки девать бизнес-логику
    #35123977
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где, кроме "ограничений на допустимые значения" на клиенте требуется бизнес-логика?
Более того, имплементация "защиты от дурака" по определению есть задача для клиента, и никакого её дублирования со стороны сервера быть не может. Серверу нужна целостность данных, а клиенту - правила, чтоб проверить что юзер не идиот.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Куда все-таки девать бизнес-логику
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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