itkhj.log
로그인
itkhj.log
로그인
추상 팩토리
ITKHJ
·
2023년 4월 4일
팔로우
0
GOF
디자인 패턴
추상팩토리
0
GoF의 디자인 패턴
목록 보기
12/16
추상 팩토리 패턴
서로 관련 있는 여러 객체를 만들어주는 인터페이스
인터페이스로 정의하거나 추상 클래스로 정의할 수 있음
※ 인스턴스 : 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체. 즉, 객체를 스프트웨어에 실체화하면 그것을 '인스턴스'라고 부른다.
※ 구체적인 팩토리에서 구체적인 인스턴스를 만드는 것 까지는 팩토리 메서드 패턴과 비슷하지만 팩토리를 사용하는 클라이언트에 초점이 맞춰져 있음
기존 코드는 클라이언트가 실행을 할때 구체적인 클래스 타입에 의존하고 있지만, 그것을 개선하기 위해서 추상 팩토리 패턴을 적용함
ShipPartsFactory
이것이 추상 팩토리(AbstractFactory) 부분.
Anchor와 Wheel도 Interface로 만들어줘야함.
WhiteShipPartsFactory
추상 팩토리의 구현체.
ShipPartsFactory를 implements해줘야 함.
이때 new WhiteAnchor();를 리턴해준다.
ConcreteProductA
Archor가 ProductA Interface
ConcreteProductB
Wheel이 ProductB Interface
Client
shipPartsFactory를 통해서 createAnchor를 불러오면 됨
팩토리 메소드와 추상 팩토리 패턴의 차이점
모양과 효과는 비슷하지만 둘 다 구체적인 객체 생성 과정을 추상화한 인터페이스를 제공함
팩토리 메소드 패턴은 "팩토리를 구현하는 방법"에 초점을 두지만 추상 팩토리 패턴은 "팩토리를 사용하는 방법"에 초점을 둔다.
팩토리 메소드 패턴은 구체적인 객체 생성 과정을 하위 또는 구체적인 클래스로 옮기는 것이 목적이지만 추상 팩토리는 관련 있는 여러 객체를 구체적인 클래스에 의존하지 않고 만들 수 있게 해주는 것이 목적
ITKHJ
모든 업무 지식 작성하자!
팔로우
이전 포스트
팩토리 메소드 패턴
다음 포스트
빌더 패턴
0개의 댓글
댓글 작성