36
Презентер должен получать ссылку на реализацию интерфейса представления и
модель, и по запросу представления изменять модель или получать данные от
модели и уведомлять при необходимости представление.
В процессе разработки АРМ учета заявок ООО «Гео-СВЕТ» должно быть
выделено несколько слоев для категоризации кода [26]:
- слой моделей (доменный), представленный классами из таблиц базы
данных;
- сервисный слой, реализованный на паттерне репозиторий;
- слой пользовательского интерфейса, реализованный с помощью
технологии WinForms.
При реализации паттерна MVP должны быть созданы формы для
отражения списка и создания новой учетной записи.
Меню АРМ учета заявок ООО «Гео-СВЕТ» должно быть реализовано с
помощью стандартного компонента ToolStrip и при возникновении события
щелчка кнопки вызываются соответствующие методы презентера:
Формы АРМ учета заявок ООО «Гео-СВЕТ» должны наследоваться от
абстрактного класса BaseForm, в котором реализованы общие действия для всех
форм, такие как Show(), ShowDialog(), ShowError() и т.д. и реализует интерфейс
IEmployeeListFormView [13].
Метод RefreshSource необходим при запросе на обновление данных, а
второй метод используется, когда форма вызывается как справочник для выбора
сотрудника. Для отображения данных используется должен использоваться
компонент ObjectListView [9].
Модель с данными для формы должна формироваться в презентере
IEmployeeListFormPresenter
Для занесения или изменения информации должна быть создана форма
EmployeeForm:BaseForm,IEmployeeFormView, которая будет наследоваться от
класса базовой формы и реализует присущий ей интерфейс [15].
При работе с программным кодом АРМ учета заявок ООО «Гео-СВЕТ»
должны применяться методы проверки – признак новой или редактируемой
записи, текущую доменную модель и список ошибок, выявленный при проверке
введенных данных: