전략 패턴이란?
●전략 패턴이란?
class Car {
private final MoveStrategy strategy;
private final int position;
public Car(MoveStrategy strategy, int position) {
this.strategy = strategy;
this.position = position;
}
public Car move(int input) {
if(strategy.isMovable(input)) {
return new Car(strategy, car + 1);
}
return this;
}
}
interface MoveStrategy {
boolean isMovable(int input);
}
class EvenNumberMoveStrategy implements MoveStrategy {
@Override
public boolean isMovable(int input) {
return (input % 2) == 0;
}
}
class OddNumberMoveStrategy implements MoveStrategy { ... }
class PrimeNumberMoceStrategy implements MoveStrategy { ... }