2015년 10월 25일 일요일

Abstract Factory

공통의 Todo 목표를 가진 제품의 생산방식을 대표클래스를 통해 추상화하고, 하위 클라이언트 클래스에서는 이를 구현하기만 하면 되는 패턴이다.

예제

인터페이스 render{
구체화된 하위 클래스들이 공통적으로 구현 해야할 기능 (예.  render , user, paint,  등..)
}

각각 구체화된 하위 클래스 implement   render{
인터페이스 render 의 메쏘드를 각자 제각각 구현
}

추상 팩토리 객체 AbstractRenderFactory{
추상화된 생성객체를 생성해서 이  객체를 상속받아 생성하는 객체를 통해 render 방식을 결정
}

추상팩토리 객체의 하위 클래스 extend AbstractRenderFactory{
추상팩토리 객체에 정의된 생성메쏘드를 오버라이드 하고, 구체화된 하위클래스의  render 를 실행.
}

 

 

참고:

https://www.youtube.com/watch?v=soV1C6j9kkg
http://warmz.tistory.com/758 - 추천
http://alleysark.tistory.com/169  - 추천2
http://designpatternsphpko.readthedocs.org/ko/latest/Creational/AbstractFactory/README.html
http://dsheiko.com/weblog/design-patterns-by-php-and-js-es5-examples/#abstract-factory

0 comments:

댓글 쓰기