使用solarflare網絡卡降低網路IO延遲
阿新 • • 發佈:2020-12-07
模板方法模式解決了一些方法通用,卻在每一個子類都重寫了這一方法
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!"); } @Overridevoid endPlay() { System.out.println("Cricket BaseGame end!"); } }
父類中定義的play()方法就是一個通用方法,每個子類中都直接繼承了這個方法。
jdk中juc包下的AQS便是模板方法模式的具體應用。