设计模式----策略模式(一)

来源:互联网 发布:三观不合知乎 编辑:程序博客网 时间:2024/06/05 18:04

场景如下:三个妙计,一个锦囊(Context),一个赵云(使用者),锦囊中的妙计是小亮给的,赵云是个执行者,从锦囊中取出妙计,执行然后获胜。三个妙计是同一个东西那咱就写个接

package com.fc.strategy;public interface IStrategy {     public  void operate();}
然后有三个妙计,一次实现这个接口:

package com.fc.strategy;public class First implements IStrategy{@Overridepublic void operate() {System.out.println("这是第一个锦囊");}}
package com.fc.strategy;public class Seconde implements IStrategy{@Overridepublic void operate() {System.out.println("这是第2个锦囊");}}

package com.fc.strategy;public class Third implements IStrategy{@Overridepublic void operate() {System.out.println("这是第3个锦囊");}}

妙计既然有了那我们再来个锦囊来装这些妙计:

package com.fc.strategy;public class MyContext {private IStrategy strategy;public MyContext(IStrategy strategy) {this.strategy = strategy;} public void opt(){this.strategy.operate();}}
好了现在精囊妙计已经起了,下面该赵云登场了,噔噔蹬蹬:

package com.fc.strategy;public class Zhaoyun {public static void main(String[] args) {MyContext context;// 第一个context = new MyContext(new First());context.opt();// 第二个context = new MyContext(new Seconde());context.opt();// 第三个context = new MyContext(new Third());context.opt();}}
策略模式体现了高内聚低耦合的特性




4 0
原创粉丝点击