6、理解策略、抽象工厂和单例设计模式

理解策略、抽象工厂和单例设计模式

1 策略设计模式

策略设计模式是一种行为设计模式,它允许我们在运行时改变对象的行为。通过将算法(策略)从需要它的宿主类(上下文)中提取出来,可以让消费者在运行时决定使用哪种策略。这不仅提高了灵活性,还使得代码更易于维护和扩展。

1.1 目标

策略模式的核心目标是将算法封装在一个独立的类中,使宿主类不再直接依赖具体的算法实现。消费者可以在运行时选择不同的策略,而宿主类只需调用通用接口即可。这种方式遵循了开闭原则(Open/Closed Principle),即对扩展开放,对修改关闭。

1.2 设计

为了更好地理解策略模式的设计,我们可以通过一个简单的例子来说明。假设我们要设计一个系统,可以从两种不同类型的数据库中获取数据。我们可以创建两个策略类: FetchDataFromSql FetchDataFromCosmosDb 。在运行时,我们可以根据需要选择其中一个策略类,并将其插入到上下文类中。

类图

下面是策略模式的类图表示:

classDiagram
    class Context {
        +IStrategy strategy
        +void setStrategy(IStrategy strategy)
        +void executeStrategy()
    }

    class IStrategy {
        <<interface&g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值