이 그림을 이해하기까지 한참이 걸렸다(어쩌면 노력을 안했을 수도...?)
그러던 중 두 개의 블로그(1번, 2번)와 주변 지인분들께 물어보며 이해를 차츰 하기 시작했고 이해한 대로 나름 정리를 한 것이 아래 그림이다
(각 명칭에 대한 설명은 다른 블로그에도 더 잘 정리가 되어있어 따로 정리 하지 않았으며 내 생각에 대해 정리하게 되었다)
형태와 용도 그리고 그 의도에 대해서는 어느정도 파악이 됐다고 생각을 했는데 애매한 부분이 몇 가지 있었다
한 가지 예를 들자면
UserDefaults
에 어떤 특정 값이 있나 없나를 파악해야할 때 UserDefaults
를 local db로 보고 있는지 없는지를 확인 하는 아주 단순한 작업을 하기 위해
위와 같은 로직을 통해야 할지
아니면
위와 같은 상황에서는 후자의 방법을 채택하기로 했다
그 이유는 개발은 언제나 효율성을 따져봐야 한다고 생각하는데
형태를 지키자니 너무 비효율적이게 되고, 효율만 따지다 보면 원래 형태, 의도에 어긋나게 되는 상황이 발생하게 되는 경우가 더러 있다
이런 경우에 너무 비효율 적인 상황이 연출이 된다면 효율을 선택하는게 더 좋은 방향이 아닐까...? 하는 개인적인 생각이 들었기 때문이다
(물론 너무 비효율 적이라는 상황에 대한 정의가 필요하긴 할듯...!)