[Computer Science]/[디자인 패턴]

[디자인 패턴] 더티 플래그(Dirty flag)

극꼼 2022. 9. 15. 22:11
반응형


1. 더티 플래그(Dirty Flag)란?

: 간단하게 말하면, 불필요한 동작을 피하기 위해 변경된 값에 '더티'라는 플래그를 세워놓고, 실제 그 작업이 필요할 때 플래그가 세워진 값들을 반영하는 것이다.

 

2. 더티 플래그의 장점

* 값이 변하지 않았을 때의 중복 계산을 피할 수 있음.

 

3. 더티 플래그의 용도

: 값이 사용되는 횟수보다 더 자주 변경되고, 점진적으로 업데이트하기 어려울 때.

계산이나 동기화에 사용됨.

 


유니티를 공부하던 도중 알게된 디자인패턴인데,

유니티는 더티 플래그가 설정되지 않은 오브젝트는 저장하지 않습니다. 예를 들어 ScriptableObject를 실행 중에 변경할 경우 이를 저장하지 않는데, 이는 EditorUtility.SetDirty(Object target) 으로 해결할 수 있습니다. target에 더티 플래그를 설정해서 디스크에 저장될 수 있도록 하는 메서드입니다.

https://docs.unity3d.com/ScriptReference/EditorUtility.SetDirty.html

 

Unity - Scripting API: EditorUtility.SetDirty

You can use SetDirty when you want to modify an object without creating an undo entry, but still ensure the change is registered and not lost. If the object is part of a Scene, the Scene is marked dirty. If the object may be part of a Prefab instance, you

docs.unity3d.com

 

반응형