Design Pattern
cheewr85 opened this issue · comments
[질문]
ViewModel에서 Factory Method Pattern을 써서 ViewModelFactory
를 만들어 ViewModel
을 만들고 인스턴스화하는 Factory method 방식을 적용한 것인데 이를 통해서 ViewModelFactory
에서 ViewModel
의 인스턴스를 반환 넘겨받은 값에 대해서 쉽게 메소드 형태로 넘겨줘서 ViewModel
을 만들고 적용함
이와 같이 디자인 패턴 중 하나를 사용했고 이 방식이 Creational Pattern인데 다른 패턴의 방식은?
-
객체를 형성하는데 있어서 재사용성을 높이고 효율을 높이기 위해서 쓰는 것으로 크게 3가지로 볼 수 있음
-
Creational Pattern의 경우 어떻게 객체를 만들 것인지 객체 생성시 반복되는 코드를 간단하고 효율적으로 작성 및 생성하는 용도로 씀
-
여기에는 Builder, Dependency Injection, Singleton, Factory 패턴이 있음
-
Structural Pattern의 경우 클래스와 객체의 로직과 구조에 대하여 보다 쉽게 이해할 수 있게함, 작은 클래스의 합성을 통해 더 큰 클래스의 구조를 형성할 수 있음
-
여기엔 Adapter, Facade, Decorator, Composite 패턴이 있음
-
Behavioral Pattern은 해당 패턴을 통해 다양한 앱, 모듈, 객체등의 기능에 대한 책임을 할당할 수 있음 즉, 객체의 행위를 조직, 관리, 조합을 하고 다른 객체와 상호작용하는 방식 규정이나 다른 객체들과 통신하는 법과 책임 규정으로 복잡한 행위를 관리할 수 있게 하고 앱의 전체 아키텍처에까지 영향이 감
-
여기엔 Command, Observer, Strategy, State 패턴이 있음
-
자세한 예시는 아래 참고