Пристосуванець. Патерни проектування

Слайд 2

МЕТАФОРА

МЕТАФОРА

Слайд 3

ПРИКЛАД

ПРИКЛАД

Слайд 4

ПРИКЛАД

ПРИКЛАД

Слайд 5

ПРИКЛАД Об'єкт – це область динамічної пам'яті, яка містить в собі

ПРИКЛАД

Об'єкт – це область динамічної пам'яті, яка містить в собі методи

(і статичні поля).
Екземпляр – це область динамічної пам'яті, яка містить в собі тільки нестатичні поля.
Слайд 6

ПРИКЛАД Пул інтернування рядків

ПРИКЛАД
Пул інтернування рядків

Слайд 7

ПРИЗНАЧЕННЯ Організовує роботу з розподіленими об’єктами

ПРИЗНАЧЕННЯ

Організовує роботу з розподіленими об’єктами

Слайд 8

СТРУКТУРА ПАТЕРНА НА МОВІ UML

СТРУКТУРА ПАТЕРНА НА МОВІ UML

Слайд 9

СТРУКТУРА ПАТЕРНА НА МОВІ C#

СТРУКТУРА ПАТЕРНА НА МОВІ C#

Слайд 10

УЧАСНИКИ Flyweight - Пристосуванець: Надає інтерфейс, за допомогою якого розподілені об'єкти

УЧАСНИКИ

Flyweight - Пристосуванець:
Надає інтерфейс, за допомогою якого розподілені об'єкти (пристосуванці) можуть

підключати зовнішній стан і впливати на нього.
Concrete Flyweight - розподілений конкретний пристосуванець:
Клас розподіленого об'єкта. Реалізує інтерфейс класу Flyweight і додає при необхідності внутрішній стан.
Unshared Concrete Flyweight – Нерозподілений конкретний пристосуванець:
Клас нерозподіленого об'єкта. Реалізує інтерфейс класу Flyweight і додає при необхідності зовнішній стан.
Flyweight Factory - Фабрика пристосуванців:
Створює розподілені і нерозподілені об'єкти. Коли клієнт запитує розділенийоб'єкт, фабрика шукає цей об'єкт в «пулі пристосуванців» і якщо знаходить, то повертає посилання на нього, інакше створює новий об'єкт, зберігає його в «пулі пристосуванців» і повертає посилання на створений об'єкт. Нерозподілені об'єкти кожного разу створюються заново.
Client - Клієнт:
Працює з розподіленими і нерозподіленими об'єктами. Формує і може зберігати зовнішнє стан розподілених об'єктів.