설계 중 발생할 수 있는 오류를 -> 객체 간의 상호 관계 등을 이용해 -> 해결할 수 있도록 하는 기법하나의 클래스를 기반으로 오직 하나의 인스턴스만 가지는 패턴주로 DB 연결 모듈에 사용단점?TDD 난관. 테스트가 서로 독립적이지 못함모듈 간의 결합을 강하게 만들게