🗊Презентация Структурные паттерны

Нажмите для полного просмотра!
Структурные паттерны, слайд №1Структурные паттерны, слайд №2Структурные паттерны, слайд №3Структурные паттерны, слайд №4Структурные паттерны, слайд №5Структурные паттерны, слайд №6Структурные паттерны, слайд №7Структурные паттерны, слайд №8Структурные паттерны, слайд №9Структурные паттерны, слайд №10Структурные паттерны, слайд №11Структурные паттерны, слайд №12Структурные паттерны, слайд №13Структурные паттерны, слайд №14Структурные паттерны, слайд №15Структурные паттерны, слайд №16Структурные паттерны, слайд №17Структурные паттерны, слайд №18Структурные паттерны, слайд №19Структурные паттерны, слайд №20Структурные паттерны, слайд №21Структурные паттерны, слайд №22Структурные паттерны, слайд №23Структурные паттерны, слайд №24Структурные паттерны, слайд №25Структурные паттерны, слайд №26Структурные паттерны, слайд №27Структурные паттерны, слайд №28Структурные паттерны, слайд №29Структурные паттерны, слайд №30Структурные паттерны, слайд №31Структурные паттерны, слайд №32Структурные паттерны, слайд №33Структурные паттерны, слайд №34Структурные паттерны, слайд №35Структурные паттерны, слайд №36Структурные паттерны, слайд №37Структурные паттерны, слайд №38Структурные паттерны, слайд №39Структурные паттерны, слайд №40Структурные паттерны, слайд №41Структурные паттерны, слайд №42Структурные паттерны, слайд №43Структурные паттерны, слайд №44Структурные паттерны, слайд №45Структурные паттерны, слайд №46Структурные паттерны, слайд №47Структурные паттерны, слайд №48Структурные паттерны, слайд №49Структурные паттерны, слайд №50Структурные паттерны, слайд №51

Содержание

Вы можете ознакомиться и скачать презентацию на тему Структурные паттерны. Доклад-сообщение содержит 51 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Структурные паттерны
Описание слайда:
Структурные паттерны

Слайд 2





Структурные паттерны
Описание слайда:
Структурные паттерны

Слайд 3





Паттерн Adapter
Описание слайда:
Паттерн Adapter

Слайд 4





UML-диаграмма классов паттерна Adapter
Описание слайда:
UML-диаграмма классов паттерна Adapter

Слайд 5





Пример паттерна Adapter
Описание слайда:
Пример паттерна Adapter

Слайд 6





Пример реализации паттерна Adapter
// Уже существующий класс температурного датчика окружающей среды
class FahrenheitSensor // считаем что этот класс закрыт для изменения, в терминах описания паттерна это Adaptee
{
public:
    // Получить показания температуры в градусах Фаренгейта
    float getFahrenheitTemp() { float t = 32.0; return t; }
};
class Sensor // в терминах описания паттерна - Target
{
public:
    virtual ~Sensor() {}
    virtual float getTemperature() = 0;  // в терминах описания паттерна request()
};
class Adapter : public Sensor //  в терминах описания паттерна - Adapter
{
public:
    Adapter(FahrenheitSensor* p) : p_fsensor(p) {}
   ~Adapter() { delete p_fsensor; }
    float getTemperature() { // в терминах описания паттерна — request() 
                                            return (p_fsensor->getFahrenheitTemp() - 32.0f)*5.0f / 9.0f;
                                         }
private:
    FahrenheitSensor* p_fsensor; // в терминах описания паттерна -adaptee
};
int main()
{
   setlocale(LC_ALL, "rus");
   Sensor* p = new Adapter(new FahrenheitSensor);
   cout << "Температура в градусах: " << p->getTemperature() << endl;
   delete p;
}
Описание слайда:
Пример реализации паттерна Adapter // Уже существующий класс температурного датчика окружающей среды class FahrenheitSensor // считаем что этот класс закрыт для изменения, в терминах описания паттерна это Adaptee { public: // Получить показания температуры в градусах Фаренгейта float getFahrenheitTemp() { float t = 32.0; return t; } }; class Sensor // в терминах описания паттерна - Target { public: virtual ~Sensor() {} virtual float getTemperature() = 0; // в терминах описания паттерна request() }; class Adapter : public Sensor // в терминах описания паттерна - Adapter { public: Adapter(FahrenheitSensor* p) : p_fsensor(p) {} ~Adapter() { delete p_fsensor; } float getTemperature() { // в терминах описания паттерна — request() return (p_fsensor->getFahrenheitTemp() - 32.0f)*5.0f / 9.0f; } private: FahrenheitSensor* p_fsensor; // в терминах описания паттерна -adaptee }; int main() { setlocale(LC_ALL, "rus"); Sensor* p = new Adapter(new FahrenheitSensor); cout << "Температура в градусах: " << p->getTemperature() << endl; delete p; }

Слайд 7





Результаты применения паттерна Adapter
Описание слайда:
Результаты применения паттерна Adapter

Слайд 8





Паттерн Bridge (мост)
Описание слайда:
Паттерн Bridge (мост)

Слайд 9





Паттерн Bridge (мост)
Описание слайда:
Паттерн Bridge (мост)

Слайд 10





Пример иерархии на основе паттерна Bridge
Описание слайда:
Пример иерархии на основе паттерна Bridge

Слайд 11





UML-диаграмма классов паттерна Bridge
Описание слайда:
UML-диаграмма классов паттерна Bridge

Слайд 12





Описание паттерна Bridge
Описание слайда:
Описание паттерна Bridge

Слайд 13





Пример реализации паттерна Bridge
Описание слайда:
Пример реализации паттерна Bridge

Слайд 14





Пример реализации паттерна Bridge — продолжение
Описание слайда:
Пример реализации паттерна Bridge — продолжение

Слайд 15





Пример реализации паттерна Bridge — продолжение
Описание слайда:
Пример реализации паттерна Bridge — продолжение

Слайд 16





Пример реализации паттерна Bridge
Описание слайда:
Пример реализации паттерна Bridge

Слайд 17





Пример реализации паттерна Bridge — продолжение
Описание слайда:
Пример реализации паттерна Bridge — продолжение

Слайд 18





Пример реализации паттерна Bridge — продолжение
Описание слайда:
Пример реализации паттерна Bridge — продолжение

Слайд 19





паттерн Bridge
Описание слайда:
паттерн Bridge

Слайд 20





паттерн Компоновщик (Composite)
Описание слайда:
паттерн Компоновщик (Composite)

Слайд 21





UML-диаграмма классов паттерна Composite
Описание слайда:
UML-диаграмма классов паттерна Composite

Слайд 22





Пример использования паттерна Компоновщик (Composite)
Описание слайда:
Пример использования паттерна Компоновщик (Composite)

Слайд 23


Структурные паттерны, слайд №23
Описание слайда:

Слайд 24


Структурные паттерны, слайд №24
Описание слайда:

Слайд 25





Пример реализации паттерна «Компоновщик»
Описание слайда:
Пример реализации паттерна «Компоновщик»

Слайд 26





Пример реализации паттерна «Компоновщик»
Описание слайда:
Пример реализации паттерна «Компоновщик»

Слайд 27





Результаты применения паттерна Composite
Описание слайда:
Результаты применения паттерна Composite

Слайд 28





Паттерн Декоратор (Decorator)
Описание слайда:
Паттерн Декоратор (Decorator)

Слайд 29


Структурные паттерны, слайд №29
Описание слайда:

Слайд 30





Пример реализации паттерна «Декоратор»
Описание слайда:
Пример реализации паттерна «Декоратор»

Слайд 31





Пример реализации паттерна «Декоратор»
Описание слайда:
Пример реализации паттерна «Декоратор»

Слайд 32





Пример реализации паттерна «Декоратор»
Описание слайда:
Пример реализации паттерна «Декоратор»

Слайд 33





Паттерн Декоратор (Decorator)
Описание слайда:
Паттерн Декоратор (Decorator)

Слайд 34





Паттерн Фасад (Facade)
Описание слайда:
Паттерн Фасад (Facade)

Слайд 35





UML-диаграмма классов паттерна Facade
Описание слайда:
UML-диаграмма классов паттерна Facade

Слайд 36


Структурные паттерны, слайд №36
Описание слайда:

Слайд 37


Структурные паттерны, слайд №37
Описание слайда:

Слайд 38


Структурные паттерны, слайд №38
Описание слайда:

Слайд 39





Паттерн Фасад (Facade)
Описание слайда:
Паттерн Фасад (Facade)

Слайд 40





Паттерн «Приспособленец» (FlyWeight)
Описание слайда:
Паттерн «Приспособленец» (FlyWeight)

Слайд 41





UML-диаграмма классов паттерна Flyweight
Описание слайда:
UML-диаграмма классов паттерна Flyweight

Слайд 42


Структурные паттерны, слайд №42
Описание слайда:

Слайд 43


Структурные паттерны, слайд №43
Описание слайда:

Слайд 44


Структурные паттерны, слайд №44
Описание слайда:

Слайд 45


Структурные паттерны, слайд №45
Описание слайда:

Слайд 46





Паттерн «Приспособленец» (FlyWeight)
Описание слайда:
Паттерн «Приспособленец» (FlyWeight)

Слайд 47





Паттерн «прокси» (Proxy) (заместитель, суррогат)

Назначение паттерна Proxy:
Паттерн Proxy является суррогатом или замеcтителем другого объекта и контролирует доступ к нему. 
Предоставляя дополнительный уровень косвенности при доступе к объекту, может применяться для поддержки распределенного, управляемого или интеллектуального доступа. 
Являясь "оберткой" реального компонента, защищает его от излишней сложности. 
Решаемая проблема:
Вам нужно управлять ресурсоемкими объектами. Вы не хотите создавать экземпляры таких объектов до момента их реального использования.
Существует четыре ситуации, когда можно использовать паттерн Proxy:
Виртуальный proxy является заместителем объектов, создание которых обходится дорого. Реальный объект создается только при первом запросе/доступе клиента к объекту. 
Удаленный proxy предоставляет локального представителя для объекта, который находится в другом адресном пространстве ("заглушки" в RPC). 
Защитный proxy контролирует доступ к основному объекту. "Суррогатный" объект предоставляет доступ к реальному объекту, только когда вызывающий объект имеет соответствующие права. 
Интеллектуальный proxy выполняет дополнительные действия при доступе к объекту. 
Типичные области применения интеллектуальных proxy:
Подсчет числа ссылок на реальный объект. При отсутствии ссылок память под объект автоматически освобождается (известен также как интеллектуальный указатель или smart pointer). 
Загрузка объекта в память при первом обращении к нему. 
Установка запрета на изменение реального объекта при обращении к нему других объектов.
Описание слайда:
Паттерн «прокси» (Proxy) (заместитель, суррогат) Назначение паттерна Proxy: Паттерн Proxy является суррогатом или замеcтителем другого объекта и контролирует доступ к нему. Предоставляя дополнительный уровень косвенности при доступе к объекту, может применяться для поддержки распределенного, управляемого или интеллектуального доступа. Являясь "оберткой" реального компонента, защищает его от излишней сложности. Решаемая проблема: Вам нужно управлять ресурсоемкими объектами. Вы не хотите создавать экземпляры таких объектов до момента их реального использования. Существует четыре ситуации, когда можно использовать паттерн Proxy: Виртуальный proxy является заместителем объектов, создание которых обходится дорого. Реальный объект создается только при первом запросе/доступе клиента к объекту. Удаленный proxy предоставляет локального представителя для объекта, который находится в другом адресном пространстве ("заглушки" в RPC). Защитный proxy контролирует доступ к основному объекту. "Суррогатный" объект предоставляет доступ к реальному объекту, только когда вызывающий объект имеет соответствующие права. Интеллектуальный proxy выполняет дополнительные действия при доступе к объекту. Типичные области применения интеллектуальных proxy: Подсчет числа ссылок на реальный объект. При отсутствии ссылок память под объект автоматически освобождается (известен также как интеллектуальный указатель или smart pointer). Загрузка объекта в память при первом обращении к нему. Установка запрета на изменение реального объекта при обращении к нему других объектов.

Слайд 48





UML-диаграмма классов паттерна Proxy
Описание слайда:
UML-диаграмма классов паттерна Proxy

Слайд 49


Структурные паттерны, слайд №49
Описание слайда:

Слайд 50


Структурные паттерны, слайд №50
Описание слайда:

Слайд 51





Паттерн «прокси» (Proxy) (заместитель, суррогат)
Описание слайда:
Паттерн «прокси» (Proxy) (заместитель, суррогат)



Похожие презентации
Mypresentation.ru
Загрузить презентацию