A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© qixing0918 中级黑马   /  2013-11-7 14:23  /  1177 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 qixing0918 于 2013-11-7 14:55 编辑

简单分析
1.如果要模拟银行调度只需两个实体 一个是号码 一个是窗口 号码就是一个个用户  
2.根据业务需求号码有3中普通快速与vip 窗口有6个 其中4个普通1个快速一个vip
3.那么怎么把号码和窗口关联起来呢 你想想 号码作用生成一个个号码 窗口的作用就是把这一个个号码处理掉 这是不是就是数组 把号码存进去再取出来
4.那么我们就要一个主类
--------- 调用号码生成 但有3个不同的号码怎么生成
--------- 生成窗口 但有3种不同的窗口怎么区分
--------生成窗口调用方法 也就是从数组中取出号码
-------还有就是号码的生成是3种类型同时生成的 这样就要开线程让3种号码同时生成

进一步分析
1.那么号码又怎么生成呢
--------其实就是把自增的数放到数组中 或取出来
--------那么3种号码又怎么生成 其实就是生成3个数组
--------那么这3种号码有怎么区分呢 就是怎么知道 一个号码到底是vip还是快速还是普通的号码呢
老师是这么处理的
1.号码管理者 他把生成号码放到一个类中 那么这个类的一个对象就是一个数组 这样还是区分不了 所以有出现了个号码生成机器
2.号码生成机器(这个类是单例的也就是不能创建实例 只能用这个类给的实例) 这个类中放3个号码管理者(就是放3个数组) 并起不同的名字 commonManager,expressManager,vipManager
这样就做到了 commonManager 代表普通号码的存取 expressManager快速号码的存取 vipManager vip号码的存取

2.接下来就是窗口的处理
1.窗口的处理 也有3种不同的窗口 那么用不用像号码生成器一样定义3个窗口以做3种不同窗口的区分呢
其实不用的 我们可以在窗口类中定义一个变量 用来区分不同的窗口 在用到窗口的时候 窗口实例传进不同的参数就可以了
那么问题来了为什么号码管理者与号码生成器不用这种方法呢
-------我的理解其实都是一样的 这种方法是在用的时候生成3个实例 而号码生成器是已经生成好的3个实例让你用 都一样的
2.那么类别老师又是怎么处理的 老师用的是枚举 也就是事先生成好3个实例 COMMON, EXPRESS, VIP 也就是普通快速与vip

我的理解就是这样  

1 个回复

倒序浏览
{:soso_e142:}{:soso_e142:}{:soso_e142:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马