1. 程式人生 > 實用技巧 >使用solarflare網絡卡降低網路IO延遲

使用solarflare網絡卡降低網路IO延遲

模板方法模式解決了一些方法通用,卻在每一個子類都重寫了這一方法

1、定義抽象父類

public abstract class BaseGame {

    /**
     * 遊戲載入
     */
    abstract void initialize();

    /**
     * 開始遊戲
     */
    abstract void startPlay();

    /**
     * 遊戲結束
     */
    abstract void endPlay();

    public final void play() {
        initialize();
        startPlay();
        endPlay();
    }

}

2、定義子類

public class Football extends BaseGame {
    @Override
    void initialize() {
        System.out.println("Football BaseGame initialized!");
    }

    @Override
    void startPlay() {
        System.out.println("Football BaseGame started!");
    }

    @Override
    void endPlay() {
        System.out.println(
"Football BaseGame end!"); } }

public class Cricket extends BaseGame {
    @Override
    void initialize() {
        System.out.println("Cricket BaseGame initialized!");
    }

    @Override
    void startPlay() {
        System.out.println("Cricket BaseGame started!");
    }

    @Override
    
void endPlay() { System.out.println("Cricket BaseGame end!"); } }

父類中定義的play()方法就是一個通用方法,每個子類中都直接繼承了這個方法。

jdk中juc包下的AQS便是模板方法模式的具體應用。