Review interview questions - Common Design Patterns - Strategy Pattern

Policy Interface:

package com.ajax.pattern.strategy;

public interface EatWay {
    void cook();
}

Strategy 1:

package com.ajax.pattern.strategy;

public class Fry implements EatWay {
    @Override
    public void cook() {
        System.out.println("炸");
    }
}

Strategy 2:

package com.ajax.pattern.strategy;

public class Cook implements EatWay {
    @Override
    public void cook() {
        System.out.println("煮");
    }
}

surroundings:

package com.ajax.pattern.strategy;

import lombok.AllArgsConstructor;

@AllArgsConstructor
public class Chicken {
    private EatWay eatWay;

    public void cook() {
        System.out.println("准备");
        eatWay.cook();
    }    
}

run:

package com.ajax.pattern.strategy;

public class Run {
    public static void main(String[] args) {
        Chicken chicken = new Chicken(new Fry());
        chicken.cook();
    }
}

Guess you like

Origin www.cnblogs.com/caizhiqin/p/11290937.html