如何設計一款Java框架?

csdn發表於2013-11-05

  如何設計一款Java框架?本文將通過簡單的框架案例來演示框架的工作原理。一起來學習下。

  也許你會好奇框架是如何工作的?本文將通過一款簡單的框架案例來演示框架的工作原理。

  框架目標

  首先,我們要明確為什麼需要框架(除了當作庫)?框架的目標是為了定義一個過程,旨在讓開發者基於個性化需求上實現某些功能。換句話說,框架是可被應用開發者定製的骨架。

  在下面的示例中,第3類作為定義框架的一部分,第4類是用作框架客戶端程式碼。

  Main.java是框架的整個入口,這一點不能改變。

//imagine this is the entry point for a framework, it can not be changed
public class Main {
	public static void main(String[] args) {
		Human h = new Human(new Walk());
		h.doMove();		
	}
}

  Move.java是Hook。該Hook允許開發者可根據自己的需求來定義/擴充套件功能。

public abstract class Move {
	public abstract void action();
}

  Human.java是個模板,用來對映框架的工作原理。

public class Human {
	private Move move;
 
	public Human(Move m){
		this.move = m;
	}
 
	public void doMove(){
		this.move.action();
	}
}

  這款簡單的框架允許並要求開發者擴充套件“Move” 類。實際上,在這款簡單的框架中,action()方法是開發者唯一能更改的地方。

  不同的“action” 可編譯成不同的目標,比如,在下面的例子中列印輸出“5 miles per hour”,你也可以將其定義為“50 miles per hour”。

public class Walk extends Move {
 
	@Override
	public void action() {
		// TODO Auto-generated method stub
		System.out.println("5 miles per hour - it is slow!");
	}
}

  結束語:

  這裡的示例只演示了一個簡單的模板和Hook工作原理。當然,一個真正的框架要比這個複雜的多,它不僅包含像template-temple之間的關係;還包括非常複雜的程式,比如如何有效地提高效能和程式設計的可用性。

  英文出自:Programcreek

相關文章