黑马程序员技术交流社区

标题: 张老师的银行系统没我的好,我给改了~ [打印本页]

作者: ysdolls    时间: 2014-8-13 11:18
标题: 张老师的银行系统没我的好,我给改了~
本帖最后由 ysdolls 于 2014-8-13 11:34 编辑

大家忽略标题哈,为了更多的人参与而已。
刚刚听了银行系统第一讲 ,知道了需求 ,我感觉张老师做的并不太好。所以我在看之前先设计了一下。新手逻辑有点乱,大家帮忙给分析一下优劣。欢迎交流~随笔 ,大家能看懂的,都是我知音哈。

总共建立3个类分别为:
1.服务窗口类  3种普通,vip,快速,继承Runnable   
             run调用 号码管理器的remove方法           服务端 remove 客户后 查找并删除3个链表中相同的id
                                                                    1.普通客户 run内部调用2类的普通remove方法 返回null  sleep
                                                                    2.vip类      run内部先调用2类的vipRemove方法,返回null,调用2类普通,返回null sleep
                                                                    3.快速        类似vip~~~~ 快速Remove     ~~~~ ~~~~~~~ 普通         ~~~~~
2.号码管理器类 3个remove方法 3个链表 3种链表add方法添加客户id到链表
                       1. vip 添加到 vip 和 普通
                        2.快速 添加到 快速 和 普通
                        3.普通只添加到普通

            (1)普通 用户获取      这里可以应用removeFirst方法
            (2)vip用户获取            这里可以应用removeFirst方法
            (3)快速用户获取        这里可以应用removeFirst方法
                                        三个链表remove后都要查找一次 其他两个链表有没有相同id用户 有则删除 这里耗费内存可以优化(如。。。我复习一下链表做什么快,做什么慢先。。。)


3.号码生成器类  i 号码成员 号码生成方法(i++)  传递i调用2类的链表生成方法
    分三个方法分别为 1.普通。i++2.vip。i++ 3.快速。i++可以加入线程调节优先级控制客户比例。
    加入同步 防止同时取号。
    变量 Number  取得id后调用2类add方法添加进链表(不用用户调用不同add方法)

作者: 申航航    时间: 2014-8-13 12:00
不错啊,,,,
作者: ysdolls    时间: 2014-8-13 13:20
申航航 发表于 2014-8-13 12:00
不错啊,,,,

给点意见呀,亲
作者: 月影箫风起k    时间: 2014-8-13 15:02
看思路应该是把管理器里面的方法拿出来作为对象封装了起来是吧,不过少了号码机器的话问题就大了。如果这样的话就是窗口直接调度号码管理器这样局限性很大的说。你想一下,如果后期又出来更特殊的客户,就是说需要加入新的号码管理器对象的话岂不是要把所有的代码都要改了吗。所以号码机器少不了的,出现刚刚我说的情况的话只需要在机器中返回新的号码管理器的对象就行了,改动就很少,我这样说不知道你懂了没,至于其他的问题也没看
作者: fantacyleo    时间: 2014-8-13 15:46
为什么一个链表remove后,其余两个还要检查id相同的用户呢?一个用户不可能既是vip又是普通吧?
作者: 挥斥方遒    时间: 2014-8-13 16:08
不懂,帮顶。
作者: ysdolls    时间: 2014-8-16 11:07
fantacyleo 发表于 2014-8-13 15:46
为什么一个链表remove后,其余两个还要检查id相同的用户呢?一个用户不可能既是vip又是普通吧? ...

vip就不能排普通的队吗?

作者: fantacyleo    时间: 2014-8-16 11:38
ysdolls 发表于 2014-8-16 11:07
vip就不能排普通的队吗?

vip排普通队,那他就在普通队,不在vip队了,任意时刻,一个用户只属于一个队
作者: 晓风    时间: 2014-8-16 11:40
给力!32个赞!
作者: Bule丶    时间: 2014-8-16 16:28
给力,只要有自己的想法就是好的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2