我工作的那点事--学习《设计模式》实例应用(strategy模式)

最近比较郁闷,公司的人事方面不是很如意。
她在我进公司之前,答应我给我上保险,结果现在告诉我不能替我上保险了。感觉自己被骗了。

我已经自己亲自和有关部门调查过了(前面帖子也写过的)。

1.大体的方案框架:SolveRule

public abstract class SolveRule{

public void begin(){
//开始和公司交涉
}

public abstract void action();//方案解决过程

public void end(){
//解决
}
}


2.具体解决方案:SolveRuleCompany SolveRuleMine SolveRuleThird

public class SolveRuleCompany extends SolveRule{

public void action(){
   //公司提出合理方案
   }
}

public class SolveRuleMine extends SolveRule{

public void action(){
   //我提出合理方案
   }
}

public class SolveRuleThird extends SolveRule{

public void action(){
   //第三方提出合理解决方案
   }
}


3.建立一个解决类,用来提供我可以自由选择方案,毕竟 我是占有优势的,呵呵

public class SolveRuleAction {

  private SolveRule strategy;

  public SolveRuleAction(SolveRule rule){
    this.strategy=rule;
  }

  public void action() {
    strategy.action();
  }

  public void changeSolveRule(SolveRule newRule) {
    strategy = newRule;
  }

}


4.一切都准备好了,下面就是实施过程了

  
public void testReplace(){

  //使用第一套替代方案
    SolveRuleAction solver=new SolveRuleAction(new SolveRuleCompany());
   solver.action();

  //使用第二套替代方案
    SolveRuleAction solver=new SolveRuleAction(new SolveRuleMine());
   solver.action();

  //使用第三套替代方案
    SolveRuleAction solver=new SolveRuleAction(new SolveRuleThird());
   solver.action();
  }


哈哈,没想到真的可以学以致用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值