* 디자인 패턴 : 프로그램 설계시 문제들을 객체간의 상호관계로 해결하기 위해 '규약' 형태로 만들어놓은 것. 1) 싱글톤 패턴 : 하나의 클래스 - 하나의 인스턴스 ex) db 연결 모듈 - 장점 : 의존성 낮아짐 - 단점 : 미리 생성된 인스턴스 기반이므로 tdd시에 독립적 인스턴스 만들기 어려움, 모듈 결합 강화 (극복 : 의존성 주입) + js 예시 : { }, new Object 2) 팩토리 패턴 : 객체 사용 코드에서 객체 생성 부분 떼어내서 추상화상속 관계의 두 클래스 중, 상위 클래스가 뼈대를 결정하고, 하위 클래스가 구체적 내용 결정 - 장점 : 유연성(클래스 분리), 유지보수성 + 예시 : 커피팩토리 3) 전략 패턴(= 정책 패턴) : 객체 행위 바꾸고 싶을 때, ..