黑马程序员--java 银行业务调试系统


---------------------- android培训java培训、期待与您交流! ----------------------


设计思路:

(一)有三种对应类型的客户:VIP客户,普通客户,快速客户,异步随机生成各种类型的客户,各类型客户在其对应窗口按顺序依次办理业务。
1.首先,每一个客户其实就是由银行的一个取号机器产生号码的方式来表示的。所以,我想到要有一个号码管理器对象,让这个对象不断地产生号码,就等于随机生成了客户。
2.由于有三类客户,每类客户的号码编排都是完全独立的,所以,本系统一共要产生三个号码管理器对象,各自管理一类用户的排队号码。这三个号码管理器对象统一由一个号码机器进行管理,这个号码机器在整个系统中始终只能有一个,所以,它要被设计成单例。
(二)各类型客户在其对应窗口按顺序依次办理业务 ,准确地说,应该是窗口依次叫号。
从这个过程中,不难分析出,有三个模块需要设计。产生号码的模块、分配管理号码的模块和业务窗口的模块,在理解和分析过程中,可以用画图的方式来分析,这样清楚明白,方便理解。


NumberManager类的创建:

首先这个号码管理器的作用是产生一系列的号码,产生的这些号码可以放到一个集合里面,这个号码管理器有两个方法,一个是产生号码,还有就是取得号码。由于这两个线程需要单独的执行,所以必须进行锁定处理。

NumberMachine类的创建:

号码机器,首先想到的是:这个号码机器需要产生三种类型客户的号码,而且这三种类型客户的号码需要独立产生,所以需对每个类型的客户创建相对应的方法,这样才能产生独立出来的号码,并且这个号码机器在整个系统中始终只能有一个,所以,它要被设计成单例。

设计步骤:
     1、为三种不同的客户创建不同的产生号码的方法

     2、设计成单例
ServiceWindow类的创建:

这是一个服务的窗口,在类里面需要根据不同的客户类型创建不同的服务,由于是不断的进行服务的,这时可以创建一个单独的线程让他执行这个操作,在这个类里面还定义了三种服务的方法commonService() ,expressService() ,VIPService(),在每个方法中可以定义不同的等待时间和处理方法,每个客户的toString方法都是放在了CustomerType类里面。

设计步骤:

     1、设计一个线程,根据不同的客户,选择不同的服务方法
     2、根据题目要求设置每种相对应的服务方法

MainClass类的创建:

在这个类里面首先是把三个窗口启动起来,然后设定一个定时器,让取号机经过一定的时间去取号码,由于题目上面已经规定了不同客户的取号码的频率不同,所以定时器的时间设置也就不同了。

整个流程看下来我感觉自己大脑都停止转动了,接着第二天又看了,唉,自己还需努力。


---------------------- android培训java培训、期待与您交流! ----------------------

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值