设计模式之分组策略

策略(Strategy):一个接口,接口内部定义若干抽象方法;

具体策略(ConcreteStrategy):继承接口的某个类,类重写并具体实现接口定义的方法;

上下文(Context):包含有策略声明的变量。提供一个方法,该方法 委托 策略变量 调用 具体策略所重写的策略借口中的方法。

简单来说,即在上下文中通常做这些事:

a.声明接口变量(声明策略变量) 

b.定义方法1: 用声明的接口变量,接收方法形参传递过来的所需调用的继承接口的类对象,即 接口变量 对 实现接口类对象的引用。(策略变量引用具体策略对象)

c.定义方法2: 用完成对象引用的接口变量调用 实现接口类 中的具体方法。(使用具体策略的方法)

根据策略模式定义的类和接口就是一个开发框架,用户可以使用该框架进行程序设计,策略(框架核心)中的细节和核心部分用户可以不关心并且也无法触及和修改,但用户可以使用这个策略进行具体策略(在框架核心基础上扩展的具体框架)的开发,而不影响到策略。根据策略模式给出的开发框架模式满足“开——闭原则”,当增加新的具体策略时,不需要修改上下文类的代码,上下文就可以引用新的具体策略的实例。



public interface group{//策略(框架核心)
void group();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值