1. 什么是策略模式
如果赚钱,赚钱的方式有很多种,有的人是通过买卖做生意赚钱,比如我通过上班赚钱,还有人躺着赚钱(至于谁,你们懂的)。
这些赚钱方法就可以说策略。
2. 赚钱策略
2.1 赚钱策略类图
这里面就举例了三种不同的人,不同的赚钱方法
2.1 代码实现
有一个人赚钱策略的抽象类,里面有一个赚钱的方法
public interface MakeMoneyStrategy {
void wayToMakeMoney();
}
商人赚钱的方式
public class Business implements MakeMoneyStrategy {
@Override
public void wayToMakeMoney() {
System.out.println("做生意赚钱");
}
}
被雇佣赚钱的方式
public class Employee implements MakeMoneyStrategy {
@Override
public void wayToMakeMoney() {
System.out.println("上班赚钱");
}
}
AV赚钱的方方式
public class AV implements MakeMoneyStrategy{
@Override
public void wayToMakeMoney() {
System.out.println("躺着赚钱");
}
}
这些都是针对不同人来执行的
public class People {
private MakeMoneyStrategy makeMoneyStrategy;
public People(MakeMoneyStrategy makeMoneyStrategy) {
this.makeMoneyStrategy = makeMoneyStrategy;
}
public void executeStrategy() {
makeMoneyStrategy.wayToMakeMoney();
}
使用
public static void main(String[] args) {
//做生意的人赚钱
People businessman = new People(new Business());
businessman.executeStrategy();
System.out.println();
//比如我,被雇佣赚钱,就是上班赚钱
People albert = new People(new Employee());
albert.executeStrategy();
System.out.println();
People mrsCang = new People(new AV());
//仓老师赚钱方法
mrsCang.executeStrategy();
}
结果