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


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