⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 turnstyle.java

📁 著名的uncle Bob的Agile software development的代码
💻 JAVA
字号:
package com.objectmentor.PPP.Patterns.State.turnstyle;

public class Turnstyle
{
  // States
  public static final int LOCKED = 0;
  public static final int UNLOCKED = 1;

  // Events
  public static final int COIN = 0;
  public static final int PASS = 1;

  /*private*/ int state = LOCKED;

  private TurnstyleController turnstyleController;

  public Turnstyle(TurnstyleController action)
  {
    turnstyleController = action;
  }

  public void event(int event)
  {
    switch (state)
    {
    case LOCKED:
      switch (event)
      {
      case COIN:
        state = UNLOCKED;
        turnstyleController.unlock();
        break;
      case PASS:
        turnstyleController.alarm();
        break;
      }
      break;
    case UNLOCKED:
      switch (event)      {      case COIN:
        turnstyleController.thankyou();        break;      case PASS:
        state = LOCKED;
        turnstyleController.lock();        break;      }
      break;
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -