通過優銳課核心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干貨

