设计模式之策略模式

本文详细介绍了策略模式的设计原则,包括面向接口编程和多用组合。通过实例展示了如何实现策略接口及其具体策略类,并在客户端程序中选择和组装策略。策略模式有利于提高代码灵活性,应对变化,避免大量条件语句,但也可能导致客户代码了解过多实现细节。适用场景包括行为差异的类和运行时选择不同算法。文章通过鸭子类的例子,阐述了策略模式在实际编程中的应用。
摘要由CSDN通过智能技术生成
策略模式的设计原则:
    1.找出应用中需要变化的部分,把他们独立出来,不要和那些不需要变化的代码混在一起
    2.面向接口编程,而不是面向实现编程
    3.多用组合,少用继承


策略模式的实现
    1.通过分离变化得出策略接口Strategy
    
public interface FlyingStragety {
        void performFly();
    }

2.为策略接口提供实现类
 public class FlyingWithWin implements FlyingStragety {
        @Override
        public void performFly() {
            System.out.println("一飞冲天");
        }
    }



public class FlyingNoway implements FlyingStragety {
    @Override
    public void performFly() {
        System.out.println("我是大黄,我不会飞行");
    }
}


3.客户程序中要有一个策略引用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值