객체가 의존하는 다른 객체를 외부에서 주입받는 설계 패턴입니다.
데이터와 메서드를 하나의 객체로 묶는 OOP 개념입니다.
애플리케이션을 모델, 뷰, 컨트롤러로 나누는 디자인 패턴입니다.
뷰와 모델 사이의 의존성을 줄이기 위해 뷰모델을 두는 패턴입니다.
클래스의 인스턴스가 오직 하나만 생성되도록 보장하는 패턴입니다.