Tag: 디자인패턴
Command Pattern 커맨드 패턴을 액션스크립트로 컨버팅. 두 번째 – Head First Design Pattern
by 세계의끝 on 8.09, 2009, under Design Pattern
지난 포스트에서는 간단한 형태의 커맨드 패턴에 대해 살펴보았습니다. 이 포스트는 여러가지 커맨드 객체를 조합하여 실제 사용될법한 커맨드 패턴 리모컨을 만들어 보겠습니다.
지난 포스트에서 Light 구상객체를 만들어, LightOnCommand 객체로 감싸고, LightOnCommand 객체를 SimpleRemote 에 setCommand() 메서드를 이용하여 할당 한 후, 필요할 때마다 호출하는것 까지 해 보았습니다.
커맨드 패턴은 이렇게 구상 객체의 메서드를 직접 호출하지 않고, 구상객체를 감싸고 있는 커맨드 객체를 호출하여 캡슐화 한 것입니다. 이렇게 캡슐화를 하게 되면, 새로운 구상객체가 생겨도 리모컨 객체의 코드의 변경 없이 각 기능별로 ICommand 인터페이스를 구현한 커맨드 객체를 만들고 리모컨 객체에 할당하여 호스트코드에서 모두 동일한 명령어로 구상객체의 메서드를 호출할 수 있게되는 장점을 누릴 수 있게 됩니다.
Command Pattern 커맨드 패턴을 액션스크립트로 컨버팅 – Head First Design Pattern
by 세계의끝 on 6.18, 2009, under Design Pattern
헤드퍼스트 디자인 패턴의 제 6 장 커맨드 패턴 입니다. 커맨드 패턴은 객체지향 프로그래밍에서 가장 중요한 패턴 중 하나이므로 최소한의 커맨드 패턴을 적용하여 개념에 대한 이해를 돕는 포스트로부터 시작하여 차근차근 단계를 밟아 몇개의 포스트로 나눠서 작성 하겠습니다. 이 포스트는 그 중 가장 간단한 형태의 커맨드 패턴에 대해 다룹니다.
먼저 커맨드 패턴에 대한 정의를 보겠습니다.
커맨드 패턴 – 커맨드 패턴을 이용하면 요구 사항을 객체로 캡슐화 할 수 있으며, 매개변수를 써서 여러 가지 다른 요구 사항을 집어넣을 수도 있습니다. 또한 요청 내역을 큐에 저장하거나 로그로 기록할 수 도 있으며, 작업취소 기능도 지원 가능합니다.
본문 예제에서는 리모컨을 이용하여 홈 오토메이션을 구현하는 내용을 다루고 있습니다.
Singleton Pattern 싱글턴 패턴을 액션스크립트로 컨버팅 – Head First Design Pattern
by 세계의끝 on 6.18, 2009, under Design Pattern
헤드퍼스트 디자인 패턴 제 5 장 싱글턴 패턴 입니다. 싱글턴 패턴은 스터디에서는 건너뛰었지만, 이 일련의 디자인 패턴을 다룬 포스트들은 모든 패턴을 한 번씩 다뤄 보는데도 나름의 의의가 있기도 하므로 짚고 넘어가 보겠습니다.
싱글턴 패턴 – 싱글턴 패턴은 해당 클래스의 인스턴스가 하나만 만들어지고, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴입니다.
싱글턴 패턴은 객체가 두개가 되지 않도록 구조화 되어있으므로 애플리케이션에서 히스토리를 관리한다던가, 모달리스 다이알로그 박스를 띄운다던가, 사용자 설정이나 포커스 관리 같이 객체가 하나 이상이 되면 안되는 부분에 사용하게 됩니다.
본문 예제에서는 밀크 초콜렛을 끓여 만드는 초콜렛 보일러를 예로 들고 있습니다. 초콜렛 보일러는 초콜렛 공장의 유일한 보일러 이므로 객체 생성도 한번밖에 할 수 없도록 해야합니다.
보일러는 재료 넣기 –> 끓이기 –> 추출의 3 단계를 거쳐 초콜렛을 관리하게 되는데 이전 단계가 완수되지 않으면 다음 단계로 넘어갈 수 없도록 조건문이 걸려 있습니다.
Blog under the Creative Commons Attribution-NoDerivs 3.0 License