노무현 대통령 배너

Tag: Observer

Observer Pattern 옵저버 패턴 – 이벤트 디스패처를 이용해 구현

by on 6.08, 2009, under Design Pattern

bubble지난 옵저버 패턴커스텀 이벤트에 대한 포스트에서 AS3.0 의 이벤트 시스템이 옵저버 패턴과 밀접한 관련이 있다고 하였는데요, 이번에는 trace 만 찍지 않고, 실제 액션스크립트로 비주얼 하게 구현을 해 보도록 하겠습니다.

요건은 다음과 같습니다.

  • AS3.0 의 이벤트 디스패처를 이용할 것.
  • 화면에 그래픽 객체가 각자 움직이다가 마우스 클릭을 하면 한 지점으로 모인다.
  • 다시 한번 클릭하면 그래픽 객체들이 다시 각자 움직인다.

(계속 읽기…)

7개의 댓글 :, , , , , , , , , , , , , , more...

이벤트에 뭔가 같이 보내보자 – 커스텀 이벤트 만들고 사용해보기

by on 6.07, 2009, under AS3.0 API

sale_imgAS2.0 에서 AS3.0 으로 넘어와 보면 가장 처음 느끼는 것이 “뭐이리 복잡하게 해야 되는 거냐?” 하는 점이겠죠. 버튼에 액션을 넣어 뭔가를 하고 싶은 경우라면 button.onRelease = function() { //하고싶은일 } 이나 심지어 무비클립에 on(release) { //하고싶은일 } 같이 간단한 코드만으로 하고싶은 일을 하던것에 비해서 AS3.0 의 이벤트 리스너 방식은 귀찮기만 해 보입니다.

이 포스트에서는 이벤트 시스템이 2.0 이전의 콜백 방식에 비해 가지는 유리한 점 중의 하나를 살펴보겠습니다. 커스텀 이벤트 클래스를 이용하여 이벤트를 보내면서 특정한 정보를 보낼 수 있는 방법입니다. 콜백 방식으로는 부릴 수 없는 재주죠.

(계속 읽기…)

6개의 댓글 :, , , , , , , , , , , , , , more...

Observer Pattern 옵저버 패턴의 수정 – 옵저버는 주제를 몰라요.

by on 5.20, 2009, under Design Pattern

the_observer_2이 포스트는 Head First Design Pattern : Observer Pattern 옵저버 패턴을 액션스크립트로 컨버팅 의 마지막 부분에서 언급했던 잘못된 패턴 구현에 대한 코드 수정을 위한 포스트 입니다.

이 문제의 발단은 옵저버 구상 클래스에서 주제인 weatherData 객체를 레퍼런스로 저장하는데서 비롯되었습니다. 주제가 어떤 녀석인지 옵저버에 저장하는 순간 이 옵저버는 더이상 옵저버가 아니고 주제에 직접적으로 관여하는 입장이 되어버립니다.

아래 코드 부분은 수정된 옵저버 구상 클래스 입니다. 현재 주석처리 되어있는 생성자 부분에서 주제인 weatherData 를 인스턴스 변수로 저장할 뿐만 아니라, 심지어 옵저버 스스로 옵저버가 되기를 희망하며 주제의 메소드를 직접 호출하며 옵저버 등록을 시도하게 되어버렸던 것입니다. 이 결과, 주제는 info를 옵저버 들에게 돌려야 하므로 옵저버들이 누군지 당연히 원래부터 알고 있고[01] 옵저버 역시 주제가 누군지 알고 있을 뿐더러 주제의 메소드를 호출하는 형태를 띄게 되면서, 객체지향 언어에서 지양(止揚)해야 할, 객체간 강한 결합을 해버리게 됩니다.[02] 

(계속 읽기…)

  1. 주제 객체 내부에 배열로 옵저버 리스트를 관리하고 있었습니다. []
  2. OOP 의 원칙 중 클래스 사이의 결합도는 약하게, 하나의 클래스 안에서의 응집도는 강하게 라는 원칙이 있음은 주지의 사실입니다. []
10개의 댓글 :, , , , , , , , , , , , more...

  • Page 1 of 2
  • 1
  • 2
  • >

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Meta