Class FlyweightFactory<TKey, TValue>
동일 키의 데이터 인스턴스 공유. 메모리 절약. 예: 동일 EnemyConfig를 수백 개 Enemy가 공유. [규칙] DI 등록 금지. [규칙] 반환된 인스턴스는 읽기 전용으로 사용 — 여러 오브젝트가 공유. [규칙] createFunc은 순수 함수여야 한다 (부작용 없음).
public class FlyweightFactory<TKey, TValue>
Type Parameters
TKeyTValue
- Inheritance
-
objectFlyweightFactory<TKey, TValue>
Methods
Clear()
캐시 전체 초기화.
public void Clear()
GetOrCreate(TKey, Func<TKey, TValue>)
키에 해당하는 인스턴스 반환. 캐시에 없으면 createFunc으로 생성 후 저장.
public TValue GetOrCreate(TKey key, Func<TKey, TValue> createFunc)
Parameters
keyTKeycreateFuncFunc<TKey, TValue>
Returns
- TValue