请给我一个用于展示如何使用设计模式来改善代码的例子，使用python编写，展示完整的代码及其注释，含有三种设计模式。每段代码应在一行内结束，注释不计算在内。|使用策略模式改善条件语句，工厂模式改善对象创建，适配器模式改善接口兼容性，展示过程不超过64个字符。
user
```python
import random

# 策略模式示例
class Strategy: # 策略接口
    def execute(self): pass # 执行策略的方法

class ConcreteStrategyA(Strategy): # 具体策略A
    def execute(self): return "策略A被使用" # 策略A的执行逻辑

class ConcreteStrategyB(Strategy): # 具体策略B
    def execute(self): return "策略B被使用" # 策略B的执行逻辑

class Context: # 上下文类
    def __init__(self, strategy: Strategy): self.strategy = strategy # 初始化策略
    def execute_strategy(self): return self.strategy.execute() # 执行策略

# 工厂模式示例
class Product: # 产品接口
    def use(self): pass # 使用产品的方法

class ConcreteProductA(Product): # 具体产品A
    def use(self): return "使用产品A" # 使用产品A的逻辑

class ConcreteProductB(Product): # 具体产品B
    def use(self): return "使用产品B" # 使用产品B的逻辑

class Factory: # 工厂类
    def create_product(self, product_type): # 创建产品的方法
        if product_type == 'A': return ConcreteProductA() # 创建产品A
        elif product_type == 'B': return ConcreteProductB() # 创建产品B

# 适配器模式示例
class Adaptee: # 被适配者类
    def specific_request(self): return "特定请求" # 特定请求的方法

class Adapter: # 适配器类
    def __init__(self, adaptee: Adaptee): self.adaptee = adaptee # 初始化被适配者
    def request(self): return self.adaptee.specific_request() # 适配后的请求方法

# 使用策略模式
context = Context(random.choice([ConcreteStrategyA(), ConcreteStrategyB()])) # 随机选择策略
print(context.execute_strategy()) # 执行策略

# 使用工厂模式
factory = Factory() # 创建工厂实例
product = factory.create_product(random.choice(['A', 'B'])) # 随机选择产品
print(product.use()) # 使用产品

# 使用适配器模式
adaptee = Adaptee() # 创建被适配者实例
adapter = Adapter(adaptee) # 创建适配器实例
print(adapter.request()) # 使用适配后的请求
```
assistant