如何設計一款Java框架?
如何設計一款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
相關文章
- java面試一日一題:如何設計一款垃圾回收器Java面試
- Java資料庫框架設計Java資料庫框架
- Java 併發程式設計 Executor 框架Java程式設計框架
- Java程式設計——如何用Maven搭建SpringMVC+Spring+MyBatis框架Java程式設計MavenSpringMVCMyBatis框架
- Getty – Java NIO 框架設計與實現Java框架
- Java程式設計師集合框架面試題Java程式設計師框架面試題
- 好程式設計師Java教程分享javaweb框架程式設計師JavaWeb框架
- 好程式設計師Java教程分享Java開發主流框架程式設計師Java框架
- 設計方案系列-如何看待前端框架選型 ?前端框架
- 《java併發程式設計的藝術》Executor框架Java程式設計框架
- Java程式設計師必備的工具和框架Java程式設計師框架
- 好程式設計師Java教程分享幾個流行的Java框架程式設計師Java框架
- .NET框架設計(常被忽視的框架設計技巧)框架
- 好程式設計師Java培訓分享如何快速入門Java程式設計程式設計師Java
- 如何進行雲端儲存架構框架設計?架構框架
- 遊戲新手如何搭建“關卡設計”知識框架?遊戲框架
- 如何設計一款賞心悅目的後臺系統介面?
- 好程式設計師java分享spring框架精講程式設計師JavaSpring框架
- 讀懂框架設計的靈魂—Java反射機制框架Java反射
- java Activiti 工作流引擎 SSM 框架模組設計方案JavaSSM框架
- Java 基礎(二十)網路框架設計 MyVolley (上)Java框架
- 如何優雅的設計Java異常Java
- 好程式設計師Java學習路線分享Java框架怎麼搭建程式設計師Java框架
- 小團隊如何設計一款“高流水”的數值類Roguelike
- 如何搭建自己的遊戲設計框架之左右互搏術遊戲設計框架
- 分庫分表的框架如何設計自動路由框架路由
- Java ”框架 = 註解 + 反射 + 設計模式“ 之 註解詳解Java框架反射設計模式
- JAVA高階程式設計之hibernate框架學習二Java程式設計框架
- 調查:Java程式設計師最親睞的Web框架Java程式設計師Web框架
- Galileo:一款開源Web應用審計框架Web框架
- 【iOS】一款非常漂亮的柱狀統計圖框架iOS框架
- RPC 框架設計RPC框架
- .NET框架設計(1)框架
- 百度Apollo 3.5是如何設計Cyber RT計算框架的?框架
- 好程式設計師Java培訓分享本地快取如何設計程式設計師Java快取
- 好程式設計師Java培訓分享Java的三大框架怎麼學?程式設計師Java框架
- 如何成為高階java程式設計師Java程式設計師
- 如何突破Java程式設計師的分水嶺Java程式設計師