策略模式和简单工厂

Posted liu23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了策略模式和简单工厂相关的知识,希望对你有一定的参考价值。

一、商场收银软件

  题目给一个商场收银软件

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

技术分享图片

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

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

  工厂模式的出现

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

  技术分享图片

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

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

  技术分享图片

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

          技术分享图片

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

          技术分享图片

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

           技术分享图片

 

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

          

       技术分享图片

 

以上是关于策略模式和简单工厂的主要内容,如果未能解决你的问题,请参考以下文章

浅谈简单工厂模式和策略模式

Java中简单工厂模式,工厂模式,抽象工厂模式,策略模式和适配器模式学习

简单工厂模式和策略模式的差别

策略模式和简单工厂

简单工厂与策略模式

设计模式之_简单工厂模式工厂方法模式抽象工厂模式 策略模式策略与工厂的区别(转)