第2章 商场促销——策略模式

1、类设计经验积累

面向对象编程,并不是类越多越好,类的划分是为了封装,但是分类的基础是抽象具有相同属性和功能的抽象集合才是类

2、所谓策略模式

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

3、 使用简单工厂模式实现商场促销

在这里插入图片描述

4、使用策略模式实现商场促销

(1)策略模式类图

在这里插入图片描述

(2)策略模式实现商场促销

在这里插入图片描述

实例化一个策略上下文对象,向其传递一个策略(也可以向其传递一个参数,在其内部自动生成一个策略,这便是工厂模式结合策略模式。)。

策略上下问对象,会根据客户端传递的参数,使用初始化上下文对象的策略进行处理用户传递的参数,并返回一个结果。

(3)策略模式和工厂模式结合实现商场促销

策略上下文对象中必须要有一个策略,

  • 这个策略可以不外部传递过来的。(单纯的策略模式)
  • 也可以是根据外部传递的参数在内部的成员函数自动生成的。(工厂与策略的结合)

对于第二点的详尽解释:
实例化策略上下文对象时,可以不向它传递策略,而是传递一条信息,并且需要在它写一个函数,这个函数内部可以根据这条信息实例化一个策略。然后策略上下文对象可以根据这个策略进行计算。这就是工厂模式和策略模式的结合。

所谓的策略实际就是一个算法类对象,或者说一个函数类对象。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值