본문 바로가기
Design Pattern

팩토리 패턴

by IsBerry 2019. 3. 18.
반응형

팩토리 패턴 (Factory pattern)

 : 객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정하게 만듬.

   팩토리 메소드 패턴을 이용하면 클래스의 인스턴스(객체)를 만드는 일을 서브클래스에게 맡기는 것.

   * 객체를 만들어 내는 공장을 만드는 패턴


new -> 구상 클래스의 인스턴스를 만드는 것


* 인터페이스에 맞춰서 코딩을 하면 시스템에서 일어날 수 있는 여러 변화를 이겨낼 수 있다. 왜냐하면,

 다형성 덕분에 어떤 클래스든 특정 인터페이스만 구현하면 사용할 수 있기 때문이다.


* 구상 클래스를 많이 사용하면 새로운 구상 클래스가 추가될 때마다 코드를 고쳐야 하기 때문에, 많은 문제가 생길 수 있다.


 * Simple Factory는 정확하게는 패턴이 ㅇ

추상 팩토리 패턴 

 : 인터페이스를 이용하여 서로 연관된, 의존하는 객체를 구상 클래스를 지정하지 않고도 생성할 수 있다.




바뀔 수 잇는 부분을 찾아내서 바뀌지 않는 부분하고 분리시켜야 한다는 원칙


팩토리 메소드 패턴 (Factory method pattern)

 : 객체지향 디자인 패턴

  

Factory method는 부모 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴

자식 클래스가 어떤 객체를 생성할지 결정하도록 하는 패턴

*부모 클래스 코드에 구체 클래스 이름을 감추기 위한 방법으로도 사용


주의) 

 Factory Method가 중첩되기 시작하면 굉장히 복잡해질 수 있다.

 상속을 사용하지만 부모클래스를 전혀 확장하지 않는다.

 따라서 이 패턴은 extends관계를 잘못 이용한 것으로 볼 수 있다.

  extends 관계를 남발하게 되면 프로그램의 엔트로피가 높아질 수 있으므로 Factory Method 패턴의 사용을 주의해야 한다.


반응형

'Design Pattern' 카테고리의 다른 글

[Design Pattern] 컴포지트 패턴 - Composite Pattern  (0) 2021.06.18
[Design Pattern] Singleton 패턴  (0) 2019.04.22
옵져버패턴  (0) 2019.03.12