------- android培训、java培训、期待与您交流! ----------
有三种对应类型的客户:VIP客户,普通客户,快速客户 ,异步随机生成各种类型的客户,各类型客户在其对应窗口按顺序依次办理业务 。
本系统一共要产生三个号码管理器对象,各自管理一类用户的排队号码。这三个号码管理器对象统一由一个号码机器进行管理,这个号码机器在整个系统中始终只能有一个,所以,它要被设计成单例。
各类型客户在其对应窗口按顺序依次办理业务即叫号.
NumberManager类
定义一个用于存储上一个客户号码的成员变量和用于存储所有等待服务的客户号码的队列集合
- public class NumberManager {
- private int lastNumber=1;
- private List<Integer> queueNumber=new ArrayList<Integer>();
- public synchronized Integer generateNewManager(){
- queueNumber.add(lastNumber);
- return lastNumber++;
- }
- public synchronized Integer fetchServiceNumber(){
- Integer number=null;
- if(queueNumber.size()>0){
- number= queueNumber.remove(0);
- }
- return number;
- }
- }