js设计模式:策略模式

作用:

根据不同的条件去进行相应的业务逻辑处理

就好比针对每种情况都制定对应的方案,触发条件就启动某项方案策略

示例:

        //策略对象
        const arrangeFun = {
            model1:(value1,value2,value3,value4)=>{
              return `${value1}${value2}${value3}:${value4}`
            },
            model2:(value1,value2,value3,value4)=>{
              return `${value4},${value3}${value1}${value2}`
            },
            model3:(value1,value2,value3,value4)=>{
              return `${value2}!${value4}${value3}${value1}`
            },
        }
        
        class StringJoint{
            constructor(fun){
                this.useModel = (value1,value2,vlaue3,vlaue4)=>{
                    return fun(value1,value2,vlaue3,vlaue4)
                }
            }
        }

        const model1 = new StringJoint(arrangeFun.model1)
        const model2 = new StringJoint(arrangeFun.model2)
        const model3 = new StringJoint(arrangeFun.model3)
       
        console.log(model1.useModel('我的','同学','是','秋雅'))
        console.log(model2.useModel('我的','同学','是','秋雅'))
        console.log(model3.useModel('我的','同学','是','秋雅'))

        //用这四个字进行造句,可以有很多的策略,我们定义了一个集中的策略对象
        //然后生成造句的实例,并将方法保存在实例当中
        //实例调用自己身上的方法,就可以了

相关推荐

  1. 设计模式——策略模式

    2024-02-20 11:42:02       48 阅读
  2. 设计模式-策略模式

    2024-02-20 11:42:02       59 阅读
  3. 设计模式——策略模式

    2024-02-20 11:42:02       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-20 11:42:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-20 11:42:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-20 11:42:02       87 阅读
  4. Python语言-面向对象

    2024-02-20 11:42:02       96 阅读

热门阅读

  1. 微服务中的熔断、降级和限流

    2024-02-20 11:42:02       48 阅读
  2. 学习 Kubernetes(K8s)、常用命令

    2024-02-20 11:42:02       62 阅读
  3. K8S学习

    2024-02-20 11:42:02       55 阅读
  4. 蓝桥杯刷题--python-9(2023填空题2)

    2024-02-20 11:42:02       57 阅读
  5. 2.Angular组件概述

    2024-02-20 11:42:02       52 阅读
  6. 自存放忘 angular 动态加载子节点

    2024-02-20 11:42:02       41 阅读
  7. 消息中间件:Puslar、Kafka、RabbigMQ、ActiveMQ

    2024-02-20 11:42:02       42 阅读
  8. 你知道Web框架有哪些吗?

    2024-02-20 11:42:02       50 阅读
  9. uni-app判断不同端

    2024-02-20 11:42:02       47 阅读
  10. PMP考试之20240220

    2024-02-20 11:42:02       51 阅读
  11. Springboot JPA实现多数据源配置

    2024-02-20 11:42:02       55 阅读
  12. nginx 安装

    2024-02-20 11:42:02       56 阅读
  13. Nginx

    Nginx

    2024-02-20 11:42:02      49 阅读