1.1 디자인 패턴

프로그램 설계시 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 규약 형태로 만들어 놓은 것

싱글톤 패턴

하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴

싱글톤 패턴은 TDD(Test Driven Development) 할 때 걸림돌이 된다. TDD를 할 때 단위 테스트를 주로 하는데, 단위 테스트는 테스트가 서로 독립적이어야 하는데

싱글톤 패턴은 미리 생성된 하나의 인스턴스를 기반으로 구현하는 패턴이기 때문에 각 테스트마다 독립적인 인스턴스를 만들기가 어렵다.

의존성 주입은 “필요한 객체를 직접 만들지 않고 외부에서 공급받는 것”임


팩토리패턴

결합도가 느슨해지고 유지 보수성이 올라감