首页 > 其他分享 >策略模式

策略模式

时间:2024-02-28 20:00:23浏览次数:21  
标签:execute 策略 self 模式 strategy switch local def

import time


class LocalStrategy:
    def execute(self):
        print("this is a local 104 execute")


class SaasStrategy:
    def execute(self):
        print("this is a saas execute")


class Switch:
    def __init__(self, strategy) -> None:
        self.strategy = strategy

    def set_strategy(self, strategy):
        self.strategy = strategy

    def execute(self):
        self.strategy.execute()


local_strategy = LocalStrategy()
saas_strategy = SaasStrategy()
switch = Switch(local_strategy)

for i in range(5):
    if i % 2 == 0:
        switch.set_strategy(saas_strategy)
    else:
        switch.set_strategy(local_strategy)
    switch.execute()
    time.sleep(1)

标签:execute,策略,self,模式,strategy,switch,local,def
From: https://www.cnblogs.com/gatling/p/18041649

相关文章

  • 23种设计模式 - 单例模式
      饿汉式特点:线程安全,调用效率高,但是不能延时加载publicclassSingletonDemo01{privatestaticSingletonDemo1instance=newSingletonDemo1();privateSingletonDemo1(){}publicstaticSingletonDemo1getInstance(){returninstance;}......
  • DM数据库几种主备模式说明
    前言DM数据库的主备集群主要是由搭建数据守护的方式来实现。DM数据守护(DMDataWatch)的实现原理非常简单:将主库(生产库)产生的Redo日志传输到备库,备库接收并重新应用Redo日志,从而实现备库与主库的数据同步。在此基础下,DM通过一些参数和接口的控制可以实现实时主备、读写分离集群......
  • 针对业务系统如何做需求分析(设计模式)
    对于一个工程师来说,如果要追求长远的发展,你就不能一直只把自己放在执行者的角色中,不能只把一个代码的实现者。你还要有独立负责一个系统的能力,能端到端开发一个完整的系统。这其中包括:前期的需求分析,中器的代码的设计和实现。后期的系统的上线维护等。 前面我们还提到过,大部分......
  • (笔记)FPGA设计性能优化策略漫谈(一)--时序优化
    1   速度优化 1.1 关键路径重组FPGA逻辑设计中时序路径上的组合逻辑都会给路径增加延时,从而影响设计性能的往往只有几条关键的路径而已,所以可以通过减少关键路径上的组合逻辑单元数来减小该路径上的延时,从而达到优化的目的。关键路径重组技术多用于关键路径由多个路......
  • 享元模式
    简介享元模式(FlyweightPattern)是一种结构型设计模式,旨在通过共享对象来减少内存使用和提高性能。它适用于需要大量相似对象的情况,其中对象的大部分状态都可以共享,而少部分状态需要外部化。通过共享这些相似对象,可以减少内存消耗,提高系统性能。结构享元工厂(FlyweightFactory......
  • 装饰器模式
    简介装饰器模式(DecoratorPattern)是一种结构型设计模式,它允许向现有对象动态地添加新功能,同时又不改变其结构。该模式通过创建一个包装对象,也就是装饰器,来包裹原始对象,并在包裹的过程中添加新的行为或责任。结构Component(组件):定义了一个对象接口,可以给这些对象动态地添加职责......
  • 组合模式
    简介组合模式是一种结构型设计模式,它允许你将对象组合成树形结构以表现"部分-整体"的层次结构。这种模式使得用户对单个对象和组合对象的使用具有一致性。在组合模式中,有两种主要类型的对象:叶节点和组合节点。叶节点代表了树结构中的最终对象,而组合节点则表示了可以包含其他组合......
  • 桥接模式
    简介桥接模式(BridgePattern)是一种结构型设计模式,它主要用于将抽象部分与实现部分分离,从而使它们可以独立变化。桥接模式通过将继承关系转化为组合关系,使得抽象部分和实现部分可以独立地变化,不会相互影响。在桥接模式中,抽象部分通常指的是一个抽象类或接口,它定义了对外的接口或......
  • KISS 原则 (设计模式)
    KISS定义kiss原则的英文描述又几个版本,计较下边的这几个keepitsimpleandstupid.keepitshortandsimplekeepitsimpleandstraightforward不过仔细看你会发现,他们表达的意思其实差不多,尽量保持简单。它是一个万金油的设计原则,可以在很多场景中,它不仅仅经常用来指......
  • 适配器模式
    简介适配器模式是一种结构型设计模式,它允许将一个类的接口转换成客户端所期望的另一个接口。适配器模式通常用于解决两个不兼容接口之间的兼容性问题,使得原本由于接口不匹配而无法一起工作的类能够协同工作。适配器模式主要由三个角色组成:目标接口(TargetInterface):客户端所期......