【机房重构】——设计模式的运用

 前言:

   机房重构是一个能帮助我们去学习运用所学设计模式的一个平台,来让我们在这个过程中去享受,由理论转变为实践这个过程的魅力,

  • 模板方法

       我们的机房收费收费系统有很多窗体是几乎一样的,如果我们不用模板方法模式,就会增加很多工作量,首先,我们需要重复的创建窗体,其次我们的代码量也会大大增加,就是复制、粘贴代码也是一件让人头大的事情,所以推出模板方法模式,用意就在降低代码重复,减少工作量,通过求同存异的思想来实现。使用模板方法模式将相同部分封装,完美实现代码复用,增加系统的性能,实现面向对象;

      在现实生活中来说,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都包含点单、吃东西、买单等几个步骤,通常情况下这几个步骤的次序是:点单--> 吃东西 --> 买单。在这三个步骤中,点单和买单大同小异,最大的区别在于第二步——吃什么?吃面条和吃满汉全席可大不相同,如图1所示:,就像机房收费系统中的组合查询,都大同小异,最大的区别是查询字段,查询表名等的不同而已!

     

            

  • 职责链模式

          在职责链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任。

     职责链模式的主要优点在于可以降低系统的耦合度,简化对象的相互连接,同时增强给对象指派职责的灵活性,增加新的请求处理类也很方便;其主要缺点在于不能保证请求一定被接收,且对于比较长的职责链,请求的处理可能涉及到多个处理对象,系统性能将受到一定影响,而且在进行代码调试时不太方便。在机房重构系统上下机中有所应用

 

  • 策略模式

——它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变法,不会影响到使用算法的客户。

例子1:出行旅游:我们可以有几个策略可以考虑:可以骑自行车,汽车,做火车,飞机。每个策略都可以得到相同的结果,但是它们使用了不同的资源。选择策略的依据是费用,时间,使用工具还有每种方式的方便程度。在机房重构中也是一样,根据收费策略不同来计算消费金额,目的都是为了获得最后的消费金额,


                        

  • 单例模式

  ——用一句话形容:简约而不简单。它保证一个类仅有一个实例,并提供一个访问它的全局访问点。要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。

    为什么用到这个设计模式呢?

   因为,在主界面点击菜单时,会弹出多个相同窗体。如果是注册、退卡之类也就罢了。对于修改密码这样一个比较重要的来说,怎么能有两个呢?必须要有一个!

    那么我们就用到了单例模式。


小结:

    还有其他一些设计模式,例如:观察者模式,工厂方法,就不一一介绍了,或者说目前对这两个我还没有特别直白的理解,也许以后会补上。总的来说,学设计模式跟用设计模式是两个完全不同的事情,学是用的基础,但不能代替用!个人的见解,希望能对大家有帮助!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值