본문 바로가기
자바웹프로그래밍/디자인패턴(design pattern)

팩토리 패턴 (Factory pattern)?

by 디찌s 2020. 4. 6.
728x90
반응형

팩토리패턴

  • 바뀔 수 있는 부분을 찾아내서 바뀌지 않는 부분하고 분리해야함.

 

자바코드에서 new를 사용하는것은 구상클래스의 인스턴스를 생성하는것이다. 구상클래스를 바탕으로 코딩을 하면

 

나중에 코드를 수정해야할 가능성이 높아지고, 유연성이 떨어진다. 그 이유는 변화에 약하기 때문이다.

 

인터페이스에 맞춰서 코딩을 하면 시스템에서 일어날 수 있는 여러가지 변화들을 이겨낼수있다.

 

그래서 구상클래스의 인스턴스를 만드는 부분을 찾아서 분리/캡슐화 하기위해 팩토리 패턴을 사용한다.

 

 

팩토리 패턴의 핵심은 클래스의 인스턴스를 만드는 것을 서브클래스에서 결정하도록 한다는것이다. 즉,

 

new 키워드를 사용하는 부분을 서브클래스에 위임함으로 써 객체 생성을 캡슐화하고 구상클래스에 대한 의존성이 줄어

 

든다는 이점을 얻을 수 있다는것.

 

특히 구상클래스에 대한 의존성이 줄어드는 것은 의존성 뒤집기 원칙(DI)에 기인하는데, DI는 자바진영에서 널리 쓰이고 있는 Spring프레임워크의 핵심 개념중 하나이다.

 

흔히 대부분 SI사업에서 사용하는

 

service -> serviceimpl 

 

이런식으로 하는것을 팩토리 패턴이라함.

728x90
반응형

댓글