一、商场收银软件
题目给一个商场收银软件
如果给平时做的话 可能就是两个文本框,数量*金额得到结果
相信这是大多数初学者的通病
既然今天学习的是策略模式,就要想到之前的简单工厂,如果是正常模式,就应该如上图所示,但是有时候做活动,需要打折,或者商品满500返回100这样之类的,这时候就有了别的情况出现。
工厂模式的出现
1.1添加一个现金抽象类,和一个收取现金的抽象方法
1.2:根据不同的情况搭建不同的类,继承实现 类,实现抽象类的方法
1.2.1正常收费的话,自然就是返回输入的金额
1.2.2:打折的话,搭建打折类,给个打折的参数
1.2.3:搭建一个返利多少钱的类(假如满300,返回100,那么900的话就是返300)
1.3生命上下文对象,switch判断分支,根据不同的打折,构建不同的实例
1.4 客户端调用,根据下拉打折的情况,结算现金