이 제품은 관찰자 구현, 여러 employees.So 할 수 있습니다.
public interface Observer
{
public void notifyMe();
}
그런 다음 알림을 받을지 : 모든 인터페이스의 첫 번째
public class Player implements Observer
{
@Override public void notifyMe() {
/* do something */
}
}
public class Judge implements Observer
{
@Override public void notifyMe() {
/* do something */
}
}
그런 통지의 책임자 :
public class Game
{
private ArrayList<Observer> listOfObserver;
public Game() {
listOfObserver = new ArrayList<>();
}
public void registerObserver(Observer observer) {
listOfObserver.add(observer);
}
public void startGame() {
...
...
...
/* when something important happens */
for (int i = 0; i < listOfObserver.size(); i++)
listOfObserver.notify();
...
...
...
}
}
을 그리고는 main()
기능 :
public class Main
{
public static void main(String args[]) {
Player player1 = new Player();
Player player2 = new Player();
Player player3 = new Player();
Player player4 = new Player();
Judge judge = new Judge();
Game game = new Game();
game.registerObserver(player1);
game.registerObserver(player2);
game.registerObserver(player3);
game.registerObserver(player4);
game.registerObserver(judge);
game.startGame();
}
}
클래스 수행 "의사 소통"하지 마라. _Instances_ 할 수 있습니다. – moonwave99