策略模式

2019-11-11  本文已影响0人  未央不了

什么是策略模式

1.策略其实就是各种行为.当我们出门的时候会选择多种的出行方式,比如坐公交,骑自行车,坐飞机,做高铁.这都是行为,也就是策略.但他们都有共同的特性,其实是一种行为--出行.其实放在Java中可以这么认为,他们都实现了一个接口-出行,然后然后做出不同的实现出行的方式公交,火车...

例:

//定义接口,出行方式
public interface TripMode {

    void doTrip();
}

//实际出行时,不管是乘坐汽车,飞机
public class Trip {

    TripMode tripMode;

    Trip(TripMode tripMode) {
        this.tripMode = tripMode;
    }

    public void trip() {
        tripMode.doTrip();
    }

    public static void main(String[] args) {
        //构建同一个对象,有不同的行为
        TripMode tripByCar = new TripByCar();
        new Trip(tripByCar).trip();
        TripMode tripByAirport = new TripByAirport();
        new Trip(tripByAirport).trip();
    }

    //出行方式为car
    static class TripByCar implements TripMode {

        @Override
        public void doTrip() {
            System.out.println("Trip by car!");
        }
    }

   //出行方式为airport
    static class TripByAirport implements TripMode {

        @Override
        public void doTrip() {
            System.out.println("Trip by airport!");
        }
    }

}

优缺点及应用场景

上一篇下一篇

猜你喜欢

热点阅读