Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
от 5 курса и руслана.doc
Скачиваний:
3
Добавлен:
22.11.2019
Размер:
533.5 Кб
Скачать

41 Архитектурные шаблоны. Data Access Object

Data access object (DAO) — это объект, который предоставляет абстрактный интерфейс к какому-либо типу базы данных или механизму хранения. Определённые возможности предоставляются независимо от того, какой механизм хранения используется и без необходимости специальным образом соответствовать этому механизму хранения. Этот шаблон проектирования применим ко множеству языков программирования, большинству программного обеспечения, нуждающемуся в хранении информации и к большей части баз данных, но традиционно этот шаблон связывают с приложениями на платформе Java.

Решение

Используйте Data Access Object (DAO) для абстрагирования и инкапсулирования доступа к источнику данных. DAO управляет соединением с источником данных для получения и записи данных.

Особенности DAO:

Разрешает прозрачность

Облегчает миграцию

Уменьшает сложность кода в бизнес-объектах

Централизует весь доступ к данным в отдельном уровне

Добавляет дополнительный уровень

Требуется разработка иерархии классов

42 Шаблоны проектирования пользовательского интерфейса. Model-View-Controller

Model-view-controller (MVC, «Модель-представление-поведение», «Модель-представление-контроллер») — схема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента так, что модификация одного из компонентов оказывает минимальное воздействие на остальные. Данная схема проектирования часто используется для построения архитектурного каркаса, когда переходят от теории к реализации в конкретной предметной области.

Концепция MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента:

Модель (англ. Model). Модель предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать.

Представление, вид (англ. View). Отвечает за отображение информации (визуализация). Часто в качестве представления выступает форма (окно) с графическими элементами.

Контроллер (англ. Controller). Обеспечивает связь между пользователем и системой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции.

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

43 Шаблоны проектирования пользовательского интерфейса. Document-View

Следующим этапом развития MVC стал паттерн Document-View. В этой версии MVC Контроллер интегрирован в Представление, что ни в коей мере не является нарушением основной идеи паттерна. Сделано это было по многим причинам, прежде всего, отделение Контроллера от Представления действительно не самая ключевая часть паттерна. Другой причиной являлось появление графических оболочек, встроенных в ОС (операционную систему), что позволяло не рисовать графические элементы (контролы) пользовательского интерфейса под каждый проект, а использовать готовые, предоставляемые платформой посредством соответствующего API. Но дело в том, что в этих оболочках функции Контроллера уже были интегрированы в контролы (которые и являются Представлениями или же его частями). Свою роль сыграло и появление визуальных графических оболочек, встроенных в среду программирования, поскольку код, сгенерированный этими оболочками, использовал готовые графические элементы платформы и, как следствие, провоцировал разработку в стиле Document-View. WinForms, вместе с Visual Studio также являются примером такой среды .