Скачать презентацию  на тему Multiton и Object Pool Работа Скачать презентацию на тему Multiton и Object Pool Работа

Prezentatsia_na_temu.pptx

  • Количество слайдов: 10

Презентация на тему: Multiton и Object Pool Работа выполнена студентами УКИТ, группы П-203 Евстигнеевым Презентация на тему: Multiton и Object Pool Работа выполнена студентами УКИТ, группы П-203 Евстигнеевым А. Е Медведевым П. Виригиным Н. А

Шаблон проектирования Multiton (Пул Одиночек) Шаблон, аналогичный Singleton’у, но в отличие от него позволяет Шаблон проектирования Multiton (Пул Одиночек) Шаблон, аналогичный Singleton’у, но в отличие от него позволяет управлять набором Singletone’ов, представленных в виде словаря, содержащего именованные экземпляры Singletone’ов.

Данный шаблон можно рассматривать как объединение идей Одиночки и Пула объектов. Исходя их этого Данный шаблон можно рассматривать как объединение идей Одиночки и Пула объектов. Исходя их этого можно определить его свойства: • Шаблон может использоваться как с жестко заданным списком экземпляров, так и с созданием по требованию. • Если список фиксированный, то возможно создание всех экземпляров при старте программы или обращению к любому из них. • Возможны два варианта реакции на запрос экземпляра с неизвестным идентификатором: отказ или создание нового. • Минусом шаблона является возможность появления большого числа зависимых от него частей приложения. Однако, как и в случае с Одиночкой, это можно смягчить используя Внедрение зависимостей (Dependency injection).

Схожие шаблоны и их отличия Пул одиночек Одиночка Пул объектов Создает и содержит заданное Схожие шаблоны и их отличия Пул одиночек Одиночка Пул объектов Создает и содержит заданное число экземпляров своего класса. Обеспечивает их идентификацию и точку доступа к ним. Создает единственный экземпляр своего класса и обеспечивает доступ к нему. Содержит и содержит определенное число экземпляров заданного класса, не зная ничего о их сути. Контролирует количество экземпляров. Гарантирует существование единственного экземпляра. Не ограничивает создание других экземпляров заданного класса вне шаблона и ничего не знает о них.

Применение Шаблон стоит применять, когда необходимо реализовать большое количество Singletone’ов в одной программе. Singletone Применение Шаблон стоит применять, когда необходимо реализовать большое количество Singletone’ов в одной программе. Singletone — это усовершенствованный вариант глобальной переменной.

Объектный пул (Object Pool) Порождающий шаблон проектирования, набор инициализированных и готовых к использованию объектов. Объектный пул (Object Pool) Порождающий шаблон проектирования, набор инициализированных и готовых к использованию объектов. Когда системе требуется объект, он не создаётся, а берётся из пула. Когда объект больше не нужен, он не уничтожается, а возвращается в пул.

Переполнение Если в пуле нет ни одного свободного объекта, возможна одна из трёх стратегий: Переполнение Если в пуле нет ни одного свободного объекта, возможна одна из трёх стратегий: • Расширение пула. • Отказ в создании объекта, аварийная остановка. • В случае многозадачной системы, можно подождать, пока один из объектов не освободится.

Примеры • Информация об открытых файлах в DOS. • Информация о видимых объектах во Примеры • Информация об открытых файлах в DOS. • Информация о видимых объектах во многих компьютерных играх. • Компьютерная игра для хранения всех объектов на карте, вместо того, чтобы использовать обычные механизмы распределения памяти, может завести массив такого размера, которого заведомо хватит на все объекты, и свободные ячейки держать в виде связного списка.

Ловушки • Если объекты после возвращения в пул оказываются в неправильном или неопределённом состоянии, Ловушки • Если объекты после возвращения в пул оказываются в неправильном или неопределённом состоянии, такая конструкция называется объектной клоакой (англ. object cesspool). • Если в объекте есть секретные данные (например, номер кредитной карты), после освобождения объекта эту информацию надо затереть.

Список используемой литературы и информационных ресурсов • http: //ru. wikipedia. org/wiki/Объектный_пул • http: //andrey. Список используемой литературы и информационных ресурсов • http: //ru. wikipedia. org/wiki/Объектный_пул • http: //andrey. moveax. ru/patterns/oop/creation al/multiton/ • http: //niios. ru/docs/Kurilenko/design_lab 3_sa mple. pdf • http: //ru. wikipedia. org/wiki/Singleton • http: //abap-blog. ru/abapobjects/templates/patterny-oop-v-metaforax/