task에 데이터바인딩프록시 패턴 스테이트패턴이 적용됐다면,


valueTask에는 가상프록시패턴임.


그런데 특이한게 가상 프록시 패턴 예제 중에하나가 Structuring 패턴인데


이건 거기다가 Preserve 패턴까지 추가됨.


public ValueTask Preserve() => _obj == null ? this : new ValueTask(AsTask());


정리하면 가상프록시 패턴 3가지


Lazy패턴 = 값을 늦게 초기화한다

Structuring패턴 = 참조를 구조체화한다.

Preserve 패턴 = Structuring 패턴 + Builder 패턴