달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2012. 12. 15. 16:55

옵저버 패턴 JAVA이야기2012. 12. 15. 16:55

구독자가 신문사에 등록한다. 
신문사.register(구독자);

신문사가 구독자들에게 신문을 뿌린다.
신문사.notifiyObservsers();

----------------------------------------------------------------------------

public interface Subject {


public void registerObserver(Observer o); //옵저버로 등록하기 위해

public void removeObserver(Observer o); //옵저버를 제거하기 위해

public void notifiyObservers(); //옵저버들한테 알리기 위해

}



public class Newspaper implements Subject{


LinkedList<Observer> observers = new LinkedList<Observer>();

private Content c;

public Newspaper(Content c) {

// TODO Auto-generated constructor stub

this.c = c;

}

@Override

public void registerObserver(Observer o) {

// TODO Auto-generated method stub

observers.add(o);

}


@Override

public void removeObserver(Observer o) {

// TODO Auto-generated method stub

observers.remove(o);

}


@Override

public void notifiyObservers() {

// TODO Auto-generated method stub

for (Observer o : observers) {

o.update(new Date(), c);

}

}


}


public interface Observer {


public void update(Date date, Content content);

}


public class ForeignPerson implements Observer{


@Override

public void update(Date date, Content content) {

// TODO Auto-generated method stub

}



}


//옵저버 클래스1

public class DomesticPerson implements Observer{


@Override

public void update(Date date, Content content) {

// TODO Auto-generated method stub

}



}


public interface Content {

}



'JAVA이야기' 카테고리의 다른 글

프록시 패턴  (0) 2012.12.18
브릿지 패턴  (0) 2012.12.11
어댑터 패턴  (0) 2012.12.11
퍼사드 패턴  (0) 2012.12.11
jni double[][] 배열 가져오기  (0) 2012.08.11
:
Posted by НooпeУ


Code Start Code End