Это шаблон команды? - PullRequest
       15

Это шаблон команды?

1 голос
/ 17 апреля 2009

У меня есть графический интерфейс MVP, и теперь я хотел бы определить определенные действия или команды (Modify, Save, Close, ...) для определенных представлений.

Есть ли простой способ сделать это? Должен ли я предоставлять команды для каждого вида?

1 Ответ

3 голосов
/ 17 апреля 2009

Самый простой способ - создать фабрику, в которой будут созданы все ваши объекты команд. Таким образом, если у вас есть открытая команда задания, все представления перейдут на завод и извлекут объект «Команда открытия задания», создайте его экземпляр и затем выполните его. Если вам нужно исправить ошибку или изменить команду «Открыть работу», вам нужно сделать это только в одном месте для всех видов.

С учетом сказанного будут некоторые команды, которые, вероятно, будут уникальными для каждого просмотра. Несмотря на это, вы, возможно, захотите инкапсулировать их в объект команды, так как вы можете легко реализовать Undo / Redo, когда все проходит через объекты команды.

...