|
|
|
Куда все-таки девать бизнес-логику
|
|||
|---|---|---|---|
|
#18+
Есть набор классов бизнес-логики, представляющие предметную область. С одной стороны, вся логика должна присутствовать в самих классах, например ограничения на допустимые значения и пр. Однако все то-же самое приходиться дублировать в БД. Вот например есть ограничение, что нельзя удалить объект, если одно из его полей содержит ссылку на какой-нибудь другой объект (например если деталь содержит написаную технологию, то нельзя ее просто так удалить). Однако проверку на наличие технологии придется делать как в бизнес-классе, так и в БД, ведь технологию могут присвоить за секунду до попытки удаления детали, и бизнес-класс не будет об этом знать :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2008, 10:58 |
|
||
|
Куда все-таки девать бизнес-логику
|
|||
|---|---|---|---|
|
#18+
Откройте для себя блокировки. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2008, 11:49 |
|
||
|
Куда все-таки девать бизнес-логику
|
|||
|---|---|---|---|
|
#18+
А где, кроме "ограничений на допустимые значения" на клиенте требуется бизнес-логика? Более того, имплементация "защиты от дурака" по определению есть задача для клиента, и никакого её дублирования со стороны сервера быть не может. Серверу нужна целостность данных, а клиенту - правила, чтоб проверить что юзер не идиот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2008, 13:15 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35123977&tid=1345505]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
208ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 511ms |

| 0 / 0 |
