> В таком режиме обработчики событий получаются очень сложными, т.к. приходится в разных
> местах контролировать зависимость от других настроек (если приложение достаточно сложное
> такие зависимости всегда найдутся).тут ещё и атомная хренотень получается, когда изменение настройки требует достаточно много времени (переинициализация внутренних структур софтины, пересоздание всяких отображений и так далее). «ой, я случайно галку поставил, отмените!» «сиди и слушай свои 'валенки', я занята!»
отчасти это решается «отложеным применением» — применять всё изменившееся, когда пользователь закрыл окно настроек. но тормоза от этого никуда не деваются, да вдобавок юзер в афиге: «я всего-то галку поставил — ничего же не тормозило! а тут окно закрыл — и оно в медитации!» вдобавок, если смена настроек должна поменять внешний вид софтины, то так уже не отделаешься.
конечно, и это решается путём вывода сообщения «ждите, ваши настройки применяются» — но тогда какой смысл избавляться от «ok/apply»? с наличием кнопки «ok» интерфейс хотя бы логичен: «я нажал — оно применяет, жду». а без этой кнопки ломаются глубинные привычки пользователя, потому что пользователь привык, что при закрытии окна программа не должна ничего «применять», она должна просто закрыть окно и продолжить работать.