В основном есть два варианта, насколько я знаю.
Во-первых, это просмотр событий уведомлений, на которые докладчик должен быть подписан. Когда пользователь нажимает на какую-либо кнопку в представлении, представление просто запускает какое-то событие, уведомляя об изменении чего-либо.
Второй — просто использовать шаблон наблюдателя и позволить докладчику вмешиваться в некоторый контракт. Пусть это будет интерфейс с методами вроде событий, о которых я говорил вам выше. К представлению должен быть прикреплен ведущий-наблюдатель.
Как Джереми Миллер в своем легендарном В сообщениях блога "Создайте свою собственную серию CAB" говорится, что ему лучше использовать второй вариант.
Каково ваше мнение по этой теме? Как вы связываете ведущего и вид в своих проектах? Каковы преимущества или недостатки для каждого варианта?
Давайте проведем опрос здесь. Я думаю, это было бы полезно. Заранее спасибо!
Чтобы ответить на ответ Питера Ритчи.
Моя проблема в том, что по неопытности мне приходится полагаться на чье-то мнение, чтобы принять решение и выбрать тот путь, который мне кажется правильным.
Недостаток интерфейсов заключается в том, что у вас есть определенная связь. Представление связано с интерфейсом, и что-то должно реализовать этот интерфейс.
Но с другой стороны, разве события не служат неким контрактом (как интерфейс)? Он привязывал ведущего к представлению, поскольку он должен реагировать на эти события.