MVP и гранулярность предъявителя

Используйте jquery, это не может быть более удобно.

$ (" .theclass") или $ (" .theclass"), makeArray (), если Вы хотите собственный массив JS

11
задан Bryan Menard 28 October 2009 в 11:11
поделиться

2 ответа

Мы используем MVP для всех наших клиентов, и это определенно разговор, который возникает не раз. Насколько чистым должен быть наш код для классов и докладчиков? Сказав это, мы решили использовать грубый подход докладчика. По сути, каждая форма будет иметь своего собственного презентатора и будет только получать и устанавливать свойства любого из элементов управления в конкретной форме, используя свое представление. Заполнение элементов управления - например, вызов базы данных для заполнения поля со списком - находится в классе общедоступной службы. Любая проверка введенных пользователем данных находится в классе BO, который может повторно использоваться любым и / или всеми докладчиками. Надеюсь, это поможет.

2
ответ дан 3 December 2019 в 11:52
поделиться

В моей системе CAD-CAM мои докладчики не используют пользовательские элементы управления. Пользовательские элементы управления находятся в представлении, которое находится в сборке EXE, реализующей интерфейсы представления, используемые докладчиком.

Если я хочу отобразить список клиентов, я передаю его представлению, которое имеет DisplayCustomerList и использует любую комбинацию пользовательских элементов управления, необходимую для отображения списка клиентов. Если в нескольких представлениях список клиентов отображается одинаково, тогда в сборке ExE / View они используют для этого пользовательский элемент управления или класс. Этот класс не выходит за рамки этой сборки.

Наше программное обеспечение адаптировано для работы со многими различными типами металлорежущих станков. Поэтому мы уделяем большое внимание возможности скопировать пользовательский интерфейс и заменить его совершенно другим пользовательским интерфейсом (соответствующим другой машине). Все эти пользовательские интерфейсы ссылаются на один и тот же набор основных сборок.

Иерархия выглядит следующим образом.

Просмотр EXE Реализация Presenter Сборка команд - ведущий выполняет команды, изменяющие модель Интерфейсы докладчика Сборки моделей

В стороне находятся загружаемые сборки, которые определяют динамическое содержимое, например, какие типы файлов могут быть загружены, отчеты, драйверы устройств резки и т. Д. Они реализуют различные интерфейсы, найденные в сборках моделей

Я делаю одно: Я не навязываю презентацию для каждого диалога. Если диалог тесно связан с командой, тогда он определяется, создается и используется вместе с классом команд. Иногда группа связанных команд будет совместно использовать диалог (например, обработка файлов).

Основной вопрос, который я задаю при использовании MVP: «Что произойдет, если вы захотите полностью заменить формы чем-то другим?». Ответы на этот вопрос позволят определить, где вы слишком сильно зависите от конкретного пользовательского элемента управления или механизма форм.

Самая большая проблема (и та, что у меня нет » Я получил хороший ответ на) моей настройки, заключающейся в том, что текущие IDE и языки позволяют очень легко привязать пользовательские элементы управления к записям базы данных. Это настолько продуктивно по сравнению с любой другой установкой, что имеет тенденцию доминировать в дизайне. Мне не приходилось много заниматься этой проблемой в моем приложении CAD-CAM, поэтому у меня нет другого ответа, кроме как передать набор данных в представление и позволить ему обработать его. На этом сайте есть несколько шаблонов, которые могут быть полезны в этой ситуации.

На этом сайте есть несколько шаблонов, которые могут быть полезны в этой ситуации.

На этом сайте есть несколько шаблонов, которые могут быть полезны в этой ситуации.

2
ответ дан 3 December 2019 в 11:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: