Как панели инструментов, меню и их команды должны быть реализованы в настольном приложении? - PullRequest
1 голос
/ 24 июня 2010

На концептуальном уровне (не зависящем от платформы / фреймворка), как должны быть реализованы такие компоненты, как панели инструментов и меню (и содержащиеся в них команды), в настольном приложении, использующем шаблон MVC, с минимальной связью и максимальным повторным использованием кода?

1 Ответ

1 голос
/ 24 июня 2010

Как правило, команды, привязанные к элементам меню, кнопкам панели инструментов и т. Д., Предоставляют следующую информацию элементам управления:

  • Метод выполнения
  • Флаг включения / выключения
  • (Необязательно) Видимый / скрытый флаг
  • (Необязательно) Значок
  • (Необязательно) Текст
  • (Необязательно) Описание
  • Событие, уведомленное о состоянии команды, изменилось

Если вы предпочитаете использовать шаблон MVC, а не MVVM, вам, вероятно, будет сложно определить, где будет располагаться логика команд.Вы можете раскрыть эту информацию через модель или поместить соответствующий код в контроллер.

Если вы используете компонентный интерфейс, например .NET WPF / WindowsForms / Silverlight и т. Д., Вы, вероятно, можете создать интерфейс для команды, которая предоставляет все перечисленные свойства, и создать пользовательские элементы управления, унаследованные от MenuItem, ToolbarButton и т. Д.который обрабатывает информацию из такого интерфейса.

...