來源:北大青鳥總部 2020年03月20日 14:26
現(xiàn)在隨著技術(shù)的發(fā)展,無論是后端攻城獅還是前端攻城獅,開發(fā)的時候都已經(jīng)不會再像以前那樣寫很多原生的代碼,比如:JDBC、JS等。取而代之的是各種開發(fā)框架,后端常用的框架:Mybatis、Spring、SpringBoot等,前端常用的框架:Vue、Node等。這些框架都有一個共同的特點,就是簡單、高效,這極大的提高了我們的開發(fā)效率。
作為一個優(yōu)秀的資深的有著悠久歷史的程序媛,一定是熟練使用各種各種開發(fā)框架,精通各種框架的底層原理,甚至輕輕松自己就可以開發(fā)一個框架。
但是如果你問他們,什么是框架?估計他們也不知道如何給你解釋,多數(shù)程序員更多只關(guān)注技術(shù)本身,而忽略了什么是技術(shù)。就好像我們每天都在使用框架,卻不知道什么是框架一樣,這篇文章咱們就來聊一聊什么是框架。
框架的英文為Framework意思是框架、機制、準則。最早是源于建筑行業(yè),是一個框子——指其約束性,也是一個架子——指其支撐性。是一個基本概念上的結(jié)構(gòu),用于去解決或者處理復雜的問題。
現(xiàn)在,框架這個廣泛的定義使用的十分流行,尤其在軟件行業(yè)。在軟件工程中,框架被定義為整個或部分系統(tǒng)的可重用設(shè)計,表現(xiàn)為一組抽象構(gòu)件及構(gòu)件實例間交互的方法;另一種定義認為,框架是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架。
通俗的說,框架是實現(xiàn)某種功能的半成品,提供了一些常用的工具類和一些基礎(chǔ)通用化的組件,可以供開發(fā)人員在此基礎(chǔ)上,更高效的滿足各自的業(yè)務(wù)需求。
當然這些概念比較抽象,我們來用一個例子幫助大家理解,PPT相信大家應(yīng)該都很了解,比如最近很火的一句話是:"干活的干不過寫PPT的", 我們來看下PPT的邏輯;現(xiàn)在大家在寫PPT的時候,通常都是直接打開Office Power Point 或者WPS,然后直接新建空白演示文稿就可以開始寫自己的內(nèi)容了,想要什么背景、什么字體、什么風格、什么主題等等,都可以直接在空白文稿添加就可以。
實際上在這個過程中,我們就在使用框架,這個框架就是PPT替我們準備好的內(nèi)容,如:空白的模板、字體庫、風格庫、動畫庫等。這些基礎(chǔ)的內(nèi)容就是框架搭建好的基礎(chǔ)支撐,或者說是一個半成品。我們在寫自己的PPT的時候,只需要在這些基礎(chǔ)之上來定制我們自己的內(nèi)容。
在我們軟件開發(fā)領(lǐng)域,以此類比,比如我們經(jīng)常使用的Mybatis,它其實就是為我們準備好了基礎(chǔ)操作數(shù)據(jù)庫的功能,包括參數(shù)傳遞、結(jié)果集封裝等。我們可以根據(jù)自己的需求來決定操作哪個數(shù)據(jù)庫,怎樣封裝結(jié)果集,怎樣傳遞參數(shù)等。這其實就是框架。
互聯(lián)網(wǎng)軟件系統(tǒng)隨著業(yè)務(wù)的發(fā)展,變得越來越復雜,不同領(lǐng)域的業(yè)務(wù)所涉及到的知識、內(nèi)容、問題非常非常多。多年以前我們可能會個Servlet、JDBC就可以輕松勝任Java開發(fā)崗位。
現(xiàn)在,我們看到各公司對實習生的要求都要精通各種Spring/SpringMVC/Mybatis等。原有的技術(shù)已經(jīng)無法滿足今天蓬勃發(fā)展的互聯(lián)網(wǎng),而且現(xiàn)在互聯(lián)網(wǎng)公司都盛行"小步快跑,快速試錯"的開發(fā)模式。這就要求我們能更加快速高效的完成開發(fā)任務(wù)。
一個優(yōu)秀的的框架,它相當于是一個模板代碼庫,很多基礎(chǔ)性的功能,底層功能操作都已經(jīng)幫我們實現(xiàn)了,我們只需要專心的實現(xiàn)所需要的業(yè)務(wù)邏輯就可以了。這樣,就大大提高了我們的開發(fā)效率,所以技術(shù)的發(fā)展,多數(shù)情況下是為了滿足業(yè)務(wù)的需求。
所以,任何可以節(jié)省體力或者腦力的事情,都會是互聯(lián)網(wǎng)的寵兒。比如外賣,現(xiàn)在我們連飯都可以不用做了.....
框架有哪些特點
1.代碼模板化。每個框架都有自己的使用規(guī)范,如:創(chuàng)建類、接口等的規(guī)范
2.重用性、通用性。不分行業(yè)、不分業(yè)務(wù),只要功能相似就可以稍加修改即可使用
3.高內(nèi)聚(封裝)。各種基礎(chǔ)的功能都封裝好了,只需要在使用的時候調(diào)用就可以。無需關(guān)注底層實現(xiàn)原理。
4.可擴展、可維護
框架的使用都有約定俗稱的操作規(guī)范,無論任何人使用,只要按照規(guī)范操作,就可以輕松使用。對于其他人的代碼也能很容易的看懂。并且很多開源框架都可以可以進行二次開發(fā)的,這也滿足了很多公司的特殊功能需求。