목적 : 애플리케이션을 특정 구현으로 부터 분리시킨다. 객체를 만드는 일을 한다.
(크리에이셔널 패턴 : 생성과정과 관련된 패턴)
팩토리 메소드 패턴 - 팩토리 메소드 패턴에서는 객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정하게 만듭니다. 팩토리 메소드 패턴을 이용하면 클래스의 인스턴스를 만드는 일을 서브클래스에게 맡긴다.
목적 : 두개나 그 이상으로 분리 됐지만 서로 관련이 있는 클래스들의 계층 구조를 엮어주기 위한 것이다.
- 상속을 통해서 객체를 만든다.
- 객체를 생성할 때는 클래스를 확장 하고 팩토리 메소드를 오버라이드 해야 한다.
Factory Pattern에서 중요시 하는 디자인 원칙
추상화된 것에 의존하도록 만들어라. 구상 클래스에 의존하도록 만들지 않도록 한다.
원칙에 도움이 될만한 가이드 라인
어떤 변수에도 구상 클래스에 대한 레퍼런스를 저장하지 않는다.
구상 클래스에서 유도된 클래스를 만들지 않는다
베이스 클래스에 이미 구현되어 있던 메소드를 오버라이드 하지 않는다.
추상 팩토리 패턴 - 추상 팩토리 패턴에서는 인터페이스를 이용하여 서로 연관된, 또는 의존하는 객체를 구상 클래스를 지정하지 않고도 생성할 수 있다.
- 객체 구성을 통해 제품을 구현 한다.
- 새로운 제품을 추가 하려면 인터페이스를 바꿔야 한다.
- 팩토리 메소드를 써서 구상 팩토리를 구현하는 경우가 종종 있다.
결론 : 팩토리는 구상 클래스가 아닌 추상 클래스/인터페이스에 맞춰서 코딩할 수 있게 해 주는 기법이다.
'Actionscript3.0' 카테고리의 다른 글
Avoid ints in Actionscript (10) | 2009.11.14 |
---|---|
Actionscript3.0의 DisplayList (2) | 2009.09.22 |
What is "Flashplatform" ? (3) | 2009.08.25 |