Date: Sunday, 13 September 2009 13:00 (UTC)
Да кто бы спорил, что жизнь сложна. Но. Непредвиденная каскадная зависимость обычно вскрывает противоречие в описании желаемого поведения. В то время как общая проверка имеет тенденцию к заметанию его под ковер и выдаче неправильного результата. Как рассказывал в байке проф. Кобельков, читавший нам вычметоды, "существуют методы, которые сходятся даже если задача не имеет решения"...

Хотя, конечно, отловить тот момент, когда зависимости перестают быть локальными, надо. Скажем, задача "поддерживать в синхронизации значения в рублях, долларах и евро сообразно изменениям, внесенным человеком где угодно" - она еще локальна, но уже с трудом берется триггером базы данных (информации в него передается маловато) и уж точно не берется триггерами бездумно. Впрочем, глобальной проверкой она и подавно бездумно не берется.

Кстати, подумалось еще и про блокировки. Да, с виду кажется, что правильный вариант - б). Но на практике, конечно, выяснится, что реальная толстая база данных таки блокируется на время, недопустимо большое для блокировки интерфейса - и вот тут начнется... И чтобы тут не началось, надо продумывать раздельные блокировки заранее. Благо алгоритм предотвращения дедлоков - он тупой, только дисциплины требует. А так даже автоматизировать можно...

И кстати, аналогия из реальной жизни тут реально хороша, если вдуматься. Совмещенный санузел, наша прелесссть... Попробуйте пописать, когда надо бежать на работу, а теща принимает душ...
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

andrzejn: (Default)
Андрій Новосьолов

May 2025

M T W T F S S
    1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
2627 28 29 3031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Friday, 30 May 2025 22:44
Powered by Dreamwidth Studios