Приспособленец (Flyweight) — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Admin (обсуждение | вклад) (Новая страница: « К основной странице курса __NOTOC__ === Другое назв…») |
Admin (обсуждение | вклад) (→Пример) |
||
Строка 14: | Строка 14: | ||
=== Пример === | === Пример === | ||
+ | В графическом редакторе не надо хранить каждый символ в виде объекта. Достаточно хранить по одному объекту для каждого из используемых символов кодовой таблицы и в метод рисования передавать контекст рисования (например, строку-столбец). Таким образом, у каждого объекта есть внутреннее состояние (символ, который он представляет) и внешнее (строка-столбец), которое не хранится вместе с объектом, а передается ему как параметр в качестве внешнего контекста. | ||
+ | === Код === | ||
<source lang="Csharp"> | <source lang="Csharp"> | ||
</source> | </source> |
Версия 10:17, 5 августа 2014
Другое название
Назначение
Описание
Реализация
Диаграмма классов
Участники
Пример
В графическом редакторе не надо хранить каждый символ в виде объекта. Достаточно хранить по одному объекту для каждого из используемых символов кодовой таблицы и в метод рисования передавать контекст рисования (например, строку-столбец). Таким образом, у каждого объекта есть внутреннее состояние (символ, который он представляет) и внешнее (строка-столбец), которое не хранится вместе с объектом, а передается ему как параметр в качестве внешнего контекста.