策略模式和简单工厂

一、商场收银软件

  题目给一个商场收银软件

  如果给平时做的话 可能就是两个文本框,数量*金额得到结果

相信这是大多数初学者的通病

  既然今天学习的是策略模式,就要想到之前的简单工厂,如果是正常模式,就应该如上图所示,但是有时候做活动,需要打折,或者商品满500返回100这样之类的,这时候就有了别的情况出现。

  工厂模式的出现

  1.1添加一个现金抽象类,和一个收取现金的抽象方法

  

        1.2:根据不同的情况搭建不同的类,继承实现 类,实现抽象类的方法

        1.2.1正常收费的话,自然就是返回输入的金额

  

           1.2.2:打折的话,搭建打折类,给个打折的参数

          

   1.2.3:搭建一个返利多少钱的类(假如满300,返回100,那么900的话就是返300)

          

            1.3生命上下文对象,switch判断分支,根据不同的打折,构建不同的实例

           

 

         1.4 客户端调用,根据下拉打折的情况,结算现金

          

       

 

posted @ 2018-05-10 00:24  Chin_lung  阅读(115)  评论(0编辑  收藏  举报