ITPub博客

首页 > IT职业 > IT生活 > 我工作的那点事--学习《设计模式》实例应用(strategy模式)

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

原创 IT生活 作者:biqing0427 时间:2007-11-20 22:45:47 0 删除 编辑

我已经自己亲自和有关部门调查过了(前面帖子也写过的),所以自己想了几个解决方法

[@more@]今天一上班就看见那张冰冷的脸,本来想和她打招呼,结果也没了兴趣,她现在和我处在敌对状态。主要原因:
她在我进公司之前,答应我给我上保险,结果现在告诉我不能替我上保险了。感觉自己被骗了,所以对她没有好言,再说我有证据在手,怕什么啊,所以坚决要和她斗争到底。

我已经自己亲自和有关部门调查过了(前面帖子也写过的),所以自己想了几个解决方法,反正和公司斗,多做点准备了。

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();
  }

哈哈,没想到真的可以学以致用。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9879276/viewspace-983082/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    24
  • 访问量
    15393