"Приспособленец" (Flyweight) — это структурный паттерн проектирования, позволяющий эффективно использовать множество мелких объектов, значительно уменьшая потребление памяти. Он достигается за счет разделения состояния объекта на внутреннее (intrinsic), которое является общим для нескольких объектов и хранится в самом приспособленце, и внешнее (extrinsic), которое уникально для каждого конкретного контекста использования и передается приспособленцу извне. Паттерн применяется, когда есть большое количество объектов одного класса с почти одинаковым состоянием.
Ключевые компоненты:
Принцип работы заключается в том, что Клиент запрашивает приспособленца у Фабрики. Фабрика ищет существующий приспособленец с нужным внутренним состоянием. Если находит, возвращает его. Если нет, создает новый, сохраняет его в кеш и возвращает. При использовании приспособленца Клиент передает ему необходимое внешнее состояние в качестве аргументов метода.
Преимущества:
Недостатки:
Пример использования: отобр
"Приспособленец" (Flyweight) — это структурный паттерн проектирования, позволяющий эффективно использовать множество мелких объектов, значительно уменьшая потребление памяти. Он достигается за счет разделения состояния объекта на внутреннее (intrinsic), которое является общим для нескольких объектов и хранится в самом приспособленце, и внешнее (extrinsic), которое уникально для каждого конкретного контекста использования и передается приспособленцу извне. Паттерн применяется, когда есть большое количество объектов одного класса с почти одинаковым состоянием.
Ключевые компоненты:
Принцип работы заключается в том, что Клиент запрашивает приспособленца у Фабрики. Фабрика ищет существующий приспособленец с нужным внутренним состоянием. Если находит, возвращает его. Если нет, создает новый, сохраняет его в кеш и возвращает. При использовании приспособленца Клиент передает ему необходимое внешнее состояние в качестве аргументов метода.
Преимущества:
Недостатки:
Пример использования: отобр
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.