學(xué)AI,好工作 就找北大青鳥
關(guān)注小青 聽課做題,輕松學(xué)習(xí)
周一至周日
4000-9696-28

身為程序員每天都在用框架的你,真的知道什么是框架嗎?

來源:北大青鳥總部 2023年01月30日 10:30

摘要: 隨著技術(shù)的發(fā)展,無論是后端攻城獅還是前端攻城獅,開發(fā)的時(shí)候已經(jīng)不再像以前那樣寫很多原生的代碼,取而代之的是各種開發(fā)框架,這些框架都有一個(gè)共同的特點(diǎn),就是簡(jiǎn)單、高效,這極大的提高了開發(fā)效率。

現(xiàn)在隨著技術(shù)的發(fā)展,無論是后端攻城獅還是前端攻城獅,開發(fā)的時(shí)候都已經(jīng)不會(huì)再像以前那樣寫很多原生的代碼,比如:JDBC、JS等。取而代之的是各種開發(fā)框架,后端常用的框架:Mybatis、Spring、SpringBoot等,前端常用的框架:Vue、Node等。這些框架都有一個(gè)共同的特點(diǎn),就是簡(jiǎn)單、高效,這極大的提高了我們的開發(fā)效率。

作為一個(gè)優(yōu)秀的資深的有著悠久歷史的程序媛,一定是熟練使用各種各種開發(fā)框架,精通各種框架的底層原理,甚至輕輕松自己就可以開發(fā)一個(gè)框架。

但是如果你問他們,什么是框架?估計(jì)他們也不知道如何給你解釋,多數(shù)程序員更多只關(guān)注技術(shù)本身,而忽略了什么是技術(shù)。就好像我們每天都在使用框架,卻不知道什么是框架一樣,這篇文章咱們就來聊一聊什么是框架。



框架的英文為Framework意思是框架、機(jī)制、準(zhǔn)則。最早是源于建筑行業(yè),是一個(gè)框子——指其約束性,也是一個(gè)架子——指其支撐性。是一個(gè)基本概念上的結(jié)構(gòu),用于去解決或者處理復(fù)雜的問題。

現(xiàn)在,框架這個(gè)廣泛的定義使用的十分流行,尤其在軟件行業(yè)。在軟件工程中,框架被定義為整個(gè)或部分系統(tǒng)的可重用設(shè)計(jì),表現(xiàn)為一組抽象構(gòu)件及構(gòu)件實(shí)例間交互的方法;另一種定義認(rèn)為,框架是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架。

通俗的說,框架是實(shí)現(xiàn)某種功能的半成品,提供了一些常用的工具類和一些基礎(chǔ)通用化的組件,可以供開發(fā)人員在此基礎(chǔ)上,更高效的滿足各自的業(yè)務(wù)需求。



當(dāng)然這些概念比較抽象,我們來用一個(gè)例子幫助大家理解,PPT相信大家應(yīng)該都很了解,比如最近很火的一句話是:"干活的干不過寫PPT的", 我們來看下PPT的邏輯;現(xiàn)在大家在寫PPT的時(shí)候,通常都是直接打開Office Power Point 或者WPS,然后直接新建空白演示文稿就可以開始寫自己的內(nèi)容了,想要什么背景、什么字體、什么風(fēng)格、什么主題等等,都可以直接在空白文稿添加就可以。

實(shí)際上在這個(gè)過程中,我們就在使用框架,這個(gè)框架就是PPT替我們準(zhǔn)備好的內(nèi)容,如:空白的模板、字體庫、風(fēng)格庫、動(dòng)畫庫等。這些基礎(chǔ)的內(nèi)容就是框架搭建好的基礎(chǔ)支撐,或者說是一個(gè)半成品。我們?cè)趯懽约旱腜PT的時(shí)候,只需要在這些基礎(chǔ)之上來定制我們自己的內(nèi)容。

在我們軟件開發(fā)領(lǐng)域,以此類比,比如我們經(jīng)常使用的Mybatis,它其實(shí)就是為我們準(zhǔn)備好了基礎(chǔ)操作數(shù)據(jù)庫的功能,包括參數(shù)傳遞、結(jié)果集封裝等。我們可以根據(jù)自己的需求來決定操作哪個(gè)數(shù)據(jù)庫,怎樣封裝結(jié)果集,怎樣傳遞參數(shù)等。這其實(shí)就是框架。


為什么要使用框架

互聯(lián)網(wǎng)軟件系統(tǒng)隨著業(yè)務(wù)的發(fā)展,變得越來越復(fù)雜,不同領(lǐng)域的業(yè)務(wù)所涉及到的知識(shí)、內(nèi)容、問題非常非常多。多年以前我們可能會(huì)個(gè)Servlet、JDBC就可以輕松勝任Java開發(fā)崗位。

現(xiàn)在,我們看到各公司對(duì)實(shí)習(xí)生的要求都要精通各種Spring/SpringMVC/Mybatis等。原有的技術(shù)已經(jīng)無法滿足今天蓬勃發(fā)展的互聯(lián)網(wǎng),而且現(xiàn)在互聯(lián)網(wǎng)公司都盛行"小步快跑,快速試錯(cuò)"的開發(fā)模式。這就要求我們能更加快速高效的完成開發(fā)任務(wù)。

一個(gè)優(yōu)秀的的框架,它相當(dāng)于是一個(gè)模板代碼庫,很多基礎(chǔ)性的功能,底層功能操作都已經(jīng)幫我們實(shí)現(xiàn)了,我們只需要專心的實(shí)現(xiàn)所需要的業(yè)務(wù)邏輯就可以了。這樣,就大大提高了我們的開發(fā)效率,所以技術(shù)的發(fā)展,多數(shù)情況下是為了滿足業(yè)務(wù)的需求。

所以,任何可以節(jié)省體力或者腦力的事情,都會(huì)是互聯(lián)網(wǎng)的寵兒。比如外賣,現(xiàn)在我們連飯都可以不用做了.....


框架有哪些特點(diǎn)

1.代碼模板化。每個(gè)框架都有自己的使用規(guī)范,如:創(chuàng)建類、接口等的規(guī)范

2.重用性、通用性。不分行業(yè)、不分業(yè)務(wù),只要功能相似就可以稍加修改即可使用

3.高內(nèi)聚(封裝)。各種基礎(chǔ)的功能都封裝好了,只需要在使用的時(shí)候調(diào)用就可以。無需關(guān)注底層實(shí)現(xiàn)原理。

4.可擴(kuò)展、可維護(hù)


框架的使用都有約定俗稱的操作規(guī)范,無論任何人使用,只要按照規(guī)范操作,就可以輕松使用。對(duì)于其他人的代碼也能很容易的看懂。并且很多開源框架都可以可以進(jìn)行二次開發(fā)的,這也滿足了很多公司的特殊功能需求。


標(biāo)簽: 前端 后端
熱門班型時(shí)間
人工智能就業(yè)班 即將爆滿
AI應(yīng)用線上班 即將爆滿
UI設(shè)計(jì)全能班 即將爆滿
數(shù)據(jù)分析綜合班 即將爆滿
軟件開發(fā)全能班 爆滿開班
網(wǎng)絡(luò)安全運(yùn)營班 爆滿開班
報(bào)名優(yōu)惠
免費(fèi)試聽
課程資料
官方微信
返回頂部
培訓(xùn)課程 熱門話題 站內(nèi)鏈接