zoukankan      html  css  js  c++  java
  • 第2章 商场促销——策略模式

    1、类设计经验积累

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

    2、所谓策略模式

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

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

    在这里插入图片描述

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

    (1)策略模式类图

    在这里插入图片描述

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

    在这里插入图片描述

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

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

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

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

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

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

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

  • 相关阅读:
    Zepto跨域请求
    C语言中浮点数的比较
    IOS开源项目Telegram初试
    Java NIO初试
    ios8.0之后注册通知中心
    spring AOP的配置
    IOS学习日记-2014年10月25日
    struct框架中实体类中属性的类型错误问题
    Oracle存储过程使用DML语句问题
    跳出类似framset 嵌入式框架
  • 原文地址:https://www.cnblogs.com/lasnitch/p/12764191.html
Copyright © 2011-2022 走看看