Здравствуйте, swame, Вы писали:
S>Первый вариант хорош, а второй плох хотя бы тем, что по первому можно нормально пройти отладчиком, а по второму хрен.
а первый вариант плох тем, что куча дублирования. Надо проверять кучу моментов:
— точно установили blueButton цвет Blue (не redButton, не blueButton2 из-за copy-paste)?
— точно добавили blueButton на форму (на правильную форму, а не mainWindow2 или innerWindow и именно blueButton)?
— точно уверены что цвет не поменяется и название кнопки не устареет?
— точно уверены что кнопку не надо будет заменить на CheckBox и название опять же устареет?
Всё это надо проверять в императивном коде. Для этого даже можете запустить отладчик (только он тут нифига не поможет).
В декларативном стиле дублирование (и ошибки с ним связанные) сведено к минимуму. Исчезают ненужные названия (blueButton или mainWindow). Связи (как минимум one-to-many) устанавливаются автоматически. Ну да, потеряли отладчик. Но в большинстве случаев без него можно жить.