我工作的那点事--学习《设计模式》实例应用(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(); }哈哈,没想到真的可以学以致用。