Tag: 디자인패턴
Observer Pattern 옵저버 패턴 – 이벤트 디스패처를 이용해 구현
by 세계의끝 on 6.08, 2009, under Design Pattern
지난 옵저버 패턴과 커스텀 이벤트에 대한 포스트에서 AS3.0 의 이벤트 시스템이 옵저버 패턴과 밀접한 관련이 있다고 하였는데요, 이번에는 trace 만 찍지 않고, 실제 액션스크립트로 비주얼 하게 구현을 해 보도록 하겠습니다.
요건은 다음과 같습니다.
- AS3.0 의 이벤트 디스패처를 이용할 것.
- 화면에 그래픽 객체가 각자 움직이다가 마우스 클릭을 하면 한 지점으로 모인다.
- 다시 한번 클릭하면 그래픽 객체들이 다시 각자 움직인다.
Abstract Factory Pattern 추상 팩토리 패턴을 액션스크립트로 컨버팅 – Head First Design Pattern
by 세계의끝 on 5.30, 2009, under Design Pattern
헤드퍼스트 디자인 패턴의 제 4 장의 내용은 팩토리 패턴 입니다. 팩토리 패턴에 관련한 포스트는 아래 세 개의 목록이 계속 연결되는 내용이므로 차례대로 읽어나가면 이해에 도움이 될 수 있을 것 입니다.
- Simple Factory 심플 팩토리 : 팩토리 패턴의 워밍업
- Factory Method Pattern 팩토리 메서드 패턴을 액션스크립트로 컨버팅
- Abstract Factory Pattern 추상 팩토리 패턴을 액션스크립트로 컨버팅 (현재 글)
우선 추상 팩토리 패턴의 정의를 보도록 하죠.
“추상 팩토리 패턴 – 추상 팩토리 패턴에서는 인터페이스를 이용하여 서로 연관된, 또는 의존하는 객체를 구상 클래스를 지정하지 않고도 생성할 수 있습니다.”
앞서 다룬 팩토리 메서드 패턴에서도 하위형으로 NYPizzaStore 구상 객체를 만들고 상위형이자 추상층인 PizzaStore 로 업 캐스팅 하는 부분이 있습니다만,[01] 팩토리 메서드 패턴의 핵심은 그 부분에 있는 것이 아니라, 객체 생성을 서브클래스에 캡슐화 시킨다는 훨씬 중요한 내용에 있습니다.
- 이 부분이 팩토리 메서드와 추상 팩토리의 경계를 모호하게 만드는 것 같습니다. [↑]
Factory Method Pattern 팩토리 메서드 패턴을 액션스크립트로 컨버팅 – Head First Design Pattern
by 세계의끝 on 5.27, 2009, under Design Pattern
헤드퍼스트 디자인 패턴의 제 4 장의 내용은 팩토리 패턴 입니다. 이전 포스트에서 심플 팩토리로 워밍업 했었는데요, 형태 자체는 거의 동일하므로 심플 팩토리를 읽고 이 포스트를 읽는다면 보다 확실한 이해를 할 수 있으리라 생각합니다.
우선 팩토리 메서드 패턴의 정의를 보도록 하죠.
“팩토리 메서드 패턴 – 팩토리 메서드 패턴에서는 객체를 생성하기 위한 인터페이스[01] 를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정하게 만듭니다. 팩토리 메서드 패턴을 이용하면 클래스의 인스턴스를 만드는 일을 서브클래스에게 맡기는 것이죠.”
피자 프랜차이즈가 분점을 내게 되었습니다. 뉴욕과 시카고는 서울과 대구 양키스와 레드삭스 만큼이나 달라서 피자에 들어가는 재료가 꽤나 다릅니다. 실제로 업무에서도 객체를 생산하는 구조는 동일하지만, 구상 클래스들의 형식이 달라서 그에따른 카테고리를 나눠서 객체를 생성해야 하는때가 빈번하게 생기는데 바로 그런 경우에 팩토리 메서드 패턴을 사용하면 좋을것 같습니다.
- 여기에서의 인터페이스는 interface 키워드를 사용하는 인터페이스를 지칭한다기 보다는 추상메서드도 포함하는 좀더 넓은 의미의 인터페이스를 의미합니다. [↑]
Blog under the Creative Commons Attribution-NoDerivs 3.0 License