策略模式

策略模式:高内聚 低耦合 可扩展(OCP)


 在策略与最终用户之间存在一层封装--中间层类,中间层类有大部分相同的处理程序,但有一些重要步骤可以有多种方法处理,这些可以交给最终用户选择,这样就可以把这些重要步骤的处理方法抽取出来,设计成抽象类或者接口(即策略的父类),然后提供策略的不同实现类(实际只有重要步骤处理方法的不同实现),这样最终用户就可以根据需要在中间层类的构造方法中提供不同策略(策略的实例)
 策略模式需要设计中间类(有成员变量--抽象策略类),抽象策略类,具体策略(抽象策略的具体实现),并且中间类必须有构造方法传递策略
interface X{
 public void operate();
}
class A implements X{
 public void operate(){...};
}
class B implements X{
 public void operate(){...};
}

class Tool{
 private X x;
 public Tool(X x){this.x = x}
 public operate(){this.x.operate()}
}

class User{
 main(...){
  Tool tool;
  tool = new Tool(new A());
  tool.operate();
  
  tool = new Tool(new B());
  tool.operate();
 }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值