如何設計Java框架? –一個簡單的例子


 

通過優銳課核心java學習筆記中,我們可以看到,碼了很多專業的相關知識, 分享給大家參考學習。

可能對框架如何工作感到好奇? 這里將通過一個簡單的框架示例來說明框架的思想。

框架目標

首先,為什么我們需要一個除普通庫以外的框架? 框架的目標是定義一個過程,使開發人員可以根據個人需求實現某些功能。 換句話說,框架定義了框架,開發人員在使用框架時填充了框架。

最簡單的框架

在下面的示例中,前3個類被定義為框架的一部分,第4個類是框架的客戶端代碼。

 

Main.java是框架的入口點。 這是無法更改的。

//imagine this is the entry point for a framework, it can not be changedpublic class Main {

public static void main(String[] args) {

Human h = new Human(new Walk());

h.doMove();

}}

Move.java是掛鈎。 掛鈎是開發人員可以根據自己的需求定義/擴展功能的地方。

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()方法是開發人員唯一能夠更改的東西。

在實現內部,可以將不同的動作編程為不同的目的。 例如。 下面的示例顯示每小時5英里當然可以將其重新定義為每小時50英里

public class Walk extends Move {

 

@Override

public void action() {

// TODO Auto-generated method stub

System.out.println("5 miles per hour - it is slow!");

}}

結論

此處的示例僅顯示了一個簡單的Template and Hook的工作方式。 真正的框架要比這復雜得多。 它不僅包含模板-模板關系之類的其他關系,而且還包含有關如何有效提高性能和編程可用性的非常復雜的過程。

 

 

> 喜歡這篇文章的可以點個贊,歡迎大家留言評論,記得關注我,每天持續更新技術干貨、職場趣事、海量面試資料等等
 > 如果你對java技術很感興趣也可以交流學習,共同學習進步。 
> 不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代

 

文章寫道這里,歡迎完善交流。最后奉上近期整理出來的一套完整的java架構思維導圖,分享給大家對照知識點參考學習。有更多JVM、Mysql、Tomcat、Spring Boot、Spring Cloud、Zookeeper、Kafka、RabbitMQ、RockerMQ、Redis、ELK、Git等Java干貨

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM