카테고리 없음
팩토리패턴
hyun9_9
2024. 4. 24. 16:55
클라이언트에서 직접 new연산자를 통해 제품 객체를 생성하는 것이 아닌 제품객체들을 도맡아 생성하는 클래스를 만들고 이를 상속하는 서브 공장 클래스의 메서드에서 여러가지 제춤 객체 생성을 각각 책임 지는 것이다
사용시기
클래스 생성과 사용의 처리 로직을 분리하여 결합도를 낮추고자 할 때
코드가 동작해야하는 객체의 유형과 종속성을 캡슐화를 통해 정보 은닉 처리할 경우
장점
생성자와 구현 객체의 강한 결합을 피할 수 있다
팩토리 메서드를 통해 객체의 생성 후 공통으로 할 일을 수행하도록 지정해줄 수 있다
단일 책임 원칙 준수 : 객체 생성 코드를 한 곳으로 이동하여 코드를 유지보수하기 쉽게 할 수 있으므로 원칙을 만족
개방 / 폐쇠 원칙 준수 : 기존 코드를 수정하지 않고 새로운 유형의 제품 인스턴스를 프로그램에 도입 할수 있어 원칙을
만족
단점
각 제품 구현체마다 객체들을 모두 구현해주어야하기 때문에 구현체가 늘어날때마다 팩토리 클래스가 증가 서브클래스 수가 폭발한다.
코드의 복잡성이 증가한다