Что такое паттерны (шаблоны) проектирования? Эффективные способы решения характерных задач проектирования Обобщенное описание решения задачи, которое.

Презентация:



Advertisements
Похожие презентации
Объекто-ориентированное проектирование Паттерны проектирования. 28 февраля 2008 г. 4 курс Технологии программирования.
Advertisements

Лекция 8 Обзор паттернов проектирования (Design patterns)
Что такое паттерны (шаблоны) проектирования? Эффективные способы решения характерных задач проектирования Обобщенное описание решения задачи, которое.
Чистый код паттерны проектирования Олег Антонов Senior Web Developer MobiDev Corporation.
Паттерн Template Method Презентацию подготовил студент 245 группы Математико-механического факультета СПбГУ Мусаев Мехти
Паттерны проектирования «Facade» Никольский Кирилл 245 группа.
РАЗРАБОТКА КЛИЕНТСКОГО ПРИЛОЖЕНИЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ ТОРГОВОГО ПРЕДПРИЯТИЯ Баранок А.В.
В. Дихтяр ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ (для бакалавров) Российский университет дружбы народов Институт гостиничного бизнеса и туризма Раздел 1.Разработка.
Основы объектно-ориентированного программирования (ООП)
Полиморфизм. Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
Программная инженерия Дмитриев Андрей Владиславович 2008.
Интеграция Microsoft Access 2003 с приложениями MS Office.
Операционная система это комплекс взаимосвязанных системных программ, назначение которого организация взаимодействия пользователя с компьютером и выполнение.
В. И. Дихтяр ИНФОРМАТИКА Российский университет дружбы народов Институт гостиничного бизнеса и туризма Раздел 3Моделирование объектов и процессов и его.
Программное обеспечение- совокупность всех программ, предназначенных для выполнения на компьютере. Программа- это описание на формальном языке, «понятном»
Шаблоны, экранные формы, слияние в MS Word. 1. Шаблоны Цель использования шаблонов: создание документа на основе уже готового образца. Пользователю необходимо.
Паттерн Builder Идрисова Сабина СПбГУ, мат-мех.ф., 243 гр.
Паттерн проектирования «STATE» Насибуллин Арсений (245 группа, )
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРА КОМПЬЮТЕР КАК УНИВЕСАЛЬНОЕ УСТРОЙСТВО ДЛЯ РАБОТЫ С ИНФОРМАЦИЕЙ Информатика и ИКТ.
Лекция 9 Типовые решения проектирования. Порождающие паттерны.
Транксрипт:

Что такое паттерны (шаблоны) проектирования? Эффективные способы решения характерных задач проектирования Обобщенное описание решения задачи, которое можно использовать в различных ситуациях ОО паттерны проектирования часто показывают отношения и взаимодействия между классами и объектами Алгоритмы не являются паттернами, т.к. решают задачу вычисления, а не программирования

Польза Каждый паттерн описывает решение целого класса проблем Каждый паттерн имеет известное имя облегчается взаимодействие между разработчиками Правильно сформулированный паттерн проектирования позволяет, отыскав удачное решение, пользоваться им снова и снова Шаблоны проектирования не зависят от языка программирования, в отличие от идиом

Порождающие паттерны проектирования Абстрагируют процесс инстанцирования объектов Список паттернов Абстрактная фабрика (Abstract Factory) Строитель (Builder) Фабричный метод (Factory method) Прототип (Prototype) Одиночка (Singleton)

Назначение паттерна «Абстрактная фабрика» Предоставляет интерфейс для создания семейств взаимосвязанных или взаимозависимых объектов, не специфицируя их конкретных классов

Паттерн «Абстрактная фабрика» Шаблон проектирования, позволяющий изменять поведение системы, варьируя создаваемые объекты, при этом сохраняя интерфейсы Предоставляет интерфейс для создания семейств взаимосвязанных или взаимозависимых объектов, не специфицируя их конкретных классов

Реализация паттерна Паттерн «Абстрактная фабрика» реализуется созданием абстрактного класса Factory, который представляет собой интерфейс для создания абстрактных объектов-продуктов На основе данного класса создается один или несколько классов конкретных фабрик, создающих конкретные объекты-продукты

Применение паттерна Используйте паттерн, когда Система не должна зависеть от того, как создаются, компонуются и представляются входящие в нее объекты Входящие в семейство взаимосвязанные объекты должны использоваться вместе и вам необходимо обеспечить выполнение этого ограничения Система должна конфигурироваться одним из семейств составляющих ее объектов Требуется предоставить библиотеку объектов, раскрывая только их интерфейсы, но не реализацию.

Структура Объявляет интерфейс для операций, создающих абстрактные объекты-продукты Реализует операции, создающие конкретные объекты-продукты; Объявляет интерфейс для типа объекта-продукта Определяет объект-продукт, создаваемый соответствующей конкретной фабрикой Пользуется исключительно интерфейсами, которые объявлены в классах AbstractFactory и AbstractProduct

Пример использования При разработке приложений с графическим интерфейсом пользователя необходимо создавать различные элементы управления Кнопки, текстовые поля, радио-кнопки, выпадающие списки и т.п. Их создание и работа с ними в различных ОС осуществляется по-разному Чтобы приложение можно было легче перенести в другую ОС в нем не должно быть жесткой привязки к типам конкретных классов элементов управления Паттерн «Абстрактная фабрика» облегчает решение данной задачи