📚 Computer Science/Design Pattern
[Design Pattern] MVVM 패턴
MVVM 패턴 MVVM 패턴은 흔히 알려진 MVC 패턴에서 Controller를 빼고 ViewModel을 추가한 패턴이다. MVVM 패턴의 장점 View와 Model이 서로 전혀 알지 못하기에 독립성을 유지할 수 있다. 독립성을 유지하기에 효율적인 유닛 테스트가 가능하다. View와 ViewModel을 바인딩하기에 코드의 양이 줄어든다. View와 ViewModel의 관계가 N:1이다. MVVM 패턴의 단점 간단한 UI에서 오히려 ViewModel을 설계하는데 어려움이 있을 수 있다. 데이터 바인딩이 필수적으로 요구된다. 복잡해 질수록 Controller처럼 ViewModel이 빠르게 비대해진다. 표준화된 틀이 존재하지 않아 사람마다 이해하는게 다르다. View - 사용자의 눈에 보이는 UI를 담당하는곳..
[Design Pattern] 싱글톤 패턴 (Singleton Pattern)
싱글톤 패턴 싱글톤패턴(Singleton Pattern)은 오직 한개의 인스턴스만을 갖도록 보장하고, 이에대한 전역적인 접근점을 제공하는 패턴이다. 싱글톤 패턴 장점 1. 인스턴스 유일성을 보장한다. - 싱글톤 패턴은 인스턴스가 유일하게 컴파일 단계에서 강제한다. 인스턴스 개수를 늘리고싶을때도 유연하게 바꿀 수 있다. 2. 게으른 초기화(Lazy Initialization)가 일어난다. - 사용하지 않는다면 생성되지 않을 뿐더러 런타임에 초기화가 된다. 3. 어디서든 접근성이 쉽다. - 전역적인 접근점을 제공하기 때문이다. 싱글톤 패턴 단점 1. 객체지향의 의도와 맞지 않는다. - Singleton의 사용은 Global state를 만들 수 있기 때문에 바람직한 방법은 아니다. - 아무객체나 자유롭게 접..