【机房合作】——重新认识设计模式

    第一次接触设计模式,感觉设计模式好难啊,用起来好麻烦,类图代码什么的都看不懂。第二次接触设计模式是重构时,用到了抽象工厂、外观、模板等,还用到了反射的技术,敲完代码发现设计模式也不是很难用,类图代码也都能看懂了。合作这次算是第三次了,又添加了很多新的设计模式,以前用过的还都好说,实现起来也不难,难就难在那些没用过的。


    机房合作不能再像以前似的,这次必须是得先画图才能敲代码。对于那些没有用过的设计模式,不知道代码实现,图画起来还真是特别难。


    在合作中,我们主要用到的设计模式是,观察者实现下机前的验证,职责链计算消费时间,策略加简单工厂计算消费金额,状态模式实现上机前的验证,装饰模式实现权限验证。下面就晒晒我们画的类图:


观察者:


    观察者模式在这里的使用是,抽象出一个抽象的主题对象,用它来做下机前的验证。一直以为观察者是哪个所谓的前台,现在才发现,观察者其实是那些员工,观察者们通过观察主题对象的状态改变进而做出改变。在图中添加了三个观察者,一是是否存在的验证,二是是否已退卡的验证,三是是否正在上机的验证。一旦主题对象发生状态改变,也就是下机,就让三个观察者做出改变。


职责链:


    职责链模式在这里是用来计算消费时间,它本身的用法是关乎能力,如果发生的事不在它的能力范围之内,它则自动传给下一个对象来解决。在这里,三种时间就是三个对象,如果上机时间小于准备时间,或者大于准备时间小于最小上机时间,或者大于最少上机时间,一个对象不能解决问题则自动交给下一个对象。


策略加简单工厂:


    策略模式其实就是封装的不同算法,每种策略就是每种算法。在这里,我们的消费金额分为两种算法,一个是固定用户,一个是临时用户。不同的卡类型单位时间费用不同,所以消费金额的算法也不同。简单工厂的功能是把分支封装起来,或者说是将判断语句从U层挪到B层,让用户用起来更简单。


状态:


    状态模式同样是状态发生改变之后会引起那些事情的发生,上机时,卡的状态发生改变,进而就会引起各种验证。


装饰:


    装饰模式在这里是用来做权限验证的,也就是登录的用户权限是什么就显示相应的主界面。定义一个用户,如果它是一般用户,则装饰主界面的一个菜单栏,如果是操作员,则显示两个,如果是管理员则显示三个。


    这些就是这些设计模式在系统中的应用,设计模式的使用肯定不止这些,希望读者可以给出我们更好地建议。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 57
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 57
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值