E D R , A S I H C RSS

Connecting The Dots

SoftwareDevelopmentMagazine — †Œฐœœ ModelViewPresenter € จ ตฌํ˜„ ˜ˆ.
http://www.sdmagazine.com/documents/s=7147/sdm0206b/0206b.htm


†ŒŠคฝ”“œ ณดฉด ‹คŒ˜ ํดž˜Šค“ค €„€ MVP ด‹ค.
Game - Model. €„Š” Presenter ™€งŒ งบŠ”‹ค. ™ธ€—„œ ดฒคํŠธ€ ฐœƒํ–ˆ„•ŒŠ” Presenter ํ†ตํ•ด ํ†ต€ฐ›Š”‹ค.

BoardPanel - View. ‹ค œ Swing “ ตฌฒด  ดธŒŸฌฆฌ“ค„ ดšฉ, ‹ค œ ํ‘œํ˜„„ ํ•œ‹ค. BoardPresenter ™€ ƒํ˜ธฐธกฐ €„ €„‹ค.

BoardPresenter - Presenter. Game BoardPanel ‚ฌด˜ ข…˜ Mediator. Game €



€„ งบŠ” ฝ”“œŠ” Dots.java — žˆ‹ค. ฆ‰, initialize() ณดฉด ‹คŒ˜ ฝ”“œ€ ‚˜˜จ‹ค.
~cpp 
      _game = new Game(4, Arrays.asList(new String[] {"JL", "TL", "KML"}));

      BoardPanel boardPanel = new BoardPanel();
      boardPanel.setGame(_game);
‹ค œกœ BoardPanel.setGame „ ณดฉด
~cpp 
   public void setGame(Game game) {
      _presenter = new BoardPresenter(game, this);
      _pixelSize = getIdealSize();
      setSize(_pixelSize);
   }
ดฉฐ BoardPresenter ณดฉด
~cpp 
   public BoardPresenter(Game game, BoardPresenterDrawListener listener) {
      _game = game;
      _game.addListener(this);
      _listener = listener;
   }
ด‹ค. (BoardPresenter —„œ listener Š” BoardPanel)

ทธฆฌณ  BoardPanel —„œ ดฒคํŠธ ฐœƒ‹œ—Š”
BoardPanel.mouseReleased -> BoardPresenter.processClick -> Game.join ‹œกœ ํ˜ธถœ˜ฉฐ
Game ฐฒด˜ ฐดํ„€ ฐ”€ŒŠ” ฒฝšฐ—Š” (ex : boxClosed)
Game.boxClosed -> listener.boxClosed (—ฌธฐ„œ listener Š” Presenter. Presenter “ค€ —ฌŸฌฐœ€   ˆ˜ žˆ‹ค. Game ฐฒด— addListener กœ “กœ งŒํ) -> BoardPanel.drawInitials. ‹œกœ „ฉ”ธ ชจธกœ€„˜ฌ˜จ‹ค.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:00
Processing time 0.0132 sec