Table of Contents

Class FlyweightFactory<TKey, TValue>

Namespace
Framework.Patterns.Pure.Flyweight
Assembly
Assembly-CSharp.dll

동일 키의 데이터 인스턴스 공유. 메모리 절약. 예: 동일 EnemyConfig를 수백 개 Enemy가 공유. [규칙] DI 등록 금지. [규칙] 반환된 인스턴스는 읽기 전용으로 사용 — 여러 오브젝트가 공유. [규칙] createFunc은 순수 함수여야 한다 (부작용 없음).

public class FlyweightFactory<TKey, TValue>

Type Parameters

TKey
TValue
Inheritance
object
FlyweightFactory<TKey, TValue>

Methods

Clear()

캐시 전체 초기화.

public void Clear()

GetOrCreate(TKey, Func<TKey, TValue>)

키에 해당하는 인스턴스 반환. 캐시에 없으면 createFunc으로 생성 후 저장.

public TValue GetOrCreate(TKey key, Func<TKey, TValue> createFunc)

Parameters

key TKey
createFunc Func<TKey, TValue>

Returns

TValue