當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 面向?qū)ο蠛椭虚g層技術(shù)
面向?qū)ο蠛椭虚g層技術(shù)
時(shí)間:2018-09-21 來(lái)源:未知
面向?qū)ο笏枷雽?duì)于嵌入式課程體系的重要性大大超出原本被認(rèn)為的那樣。這個(gè)環(huán)節(jié)的課程對(duì)于整體課程體系的意義在于:其它階段雖然使用C語(yǔ)言編碼,但都與面向?qū)ο蠹夹g(shù)緊密關(guān)聯(lián)。尤其是在操作系統(tǒng)編程和Linux內(nèi)核這兩個(gè)大環(huán)節(jié)中。在基于操作系統(tǒng)的應(yīng)用程序設(shè)計(jì)中,面向?qū)ο蠹夹g(shù)作為主要的中間層接口完成了對(duì)于操作系統(tǒng)API的封裝。操作系統(tǒng)提供的各種機(jī)制的模型透過(guò)面向?qū)ο蟮闹虚g層清晰地浮現(xiàn)出來(lái)。Linux內(nèi)核雖然用C語(yǔ)言寫(xiě)就,但面向?qū)ο蟮脑O(shè)計(jì)思想隨處可見(jiàn)。不深入學(xué)習(xí)面向?qū)ο笏枷耄蜔o(wú)法透徹理解內(nèi)核的設(shè)計(jì)思路。深入和廣泛地展開(kāi)本階段的教學(xué),能夠大大提升學(xué)員對(duì)于軟件體系整體設(shè)計(jì)思路的認(rèn)識(shí)。本階段所講授的軟件設(shè)計(jì)思想,是其它各個(gè)階段課程的基本指導(dǎo)思想。
這階段的前身C++課程曾經(jīng)是“雞肋”一般的存在。如果放棄這個(gè)階段,課程的建設(shè)者發(fā)現(xiàn)學(xué)員的簡(jiǎn)歷上只有C語(yǔ)言;如果開(kāi)設(shè)C++課程,又因?yàn)樵撾A段和其它階段的脫 節(jié)(其它階段用C作為主要語(yǔ)言)導(dǎo)致學(xué)員不易掌握。于是就出現(xiàn)了一種很奇怪的狀況, 好像應(yīng)當(dāng)教C++,但是又不知道教了做什么用。結(jié)果是這個(gè)階段的課程在這種搖擺不定的態(tài)度中被不斷削弱。
課程改革
通過(guò)對(duì)整個(gè)嵌入式軟件體系的思考,面向?qū)ο笏枷雽?duì)嵌入式軟件體系的重要意義被發(fā)掘出來(lái)。隨之而來(lái)的是整個(gè)課程體系的全面改革。本階段的課程徹底擺脫了傳統(tǒng)C++教學(xué)模式的束縛,在一個(gè)更廣闊的空間展開(kāi)教學(xué)實(shí)踐,編程語(yǔ)言也不再限于C++。本階段的課程增加了中間層環(huán)節(jié)用以講解高層次程序設(shè)計(jì)模型,并且將面向?qū)ο笏枷胪渡涞狡渌鱾(gè)課程環(huán)節(jié)。
這樣做的效果是很明顯的:在應(yīng)用程序?qū),課程所講授設(shè)計(jì)手段由于中間層的加 入變得豐富多彩;在操作系統(tǒng)理論的課程環(huán)節(jié),透過(guò)中間層講授的編程框架更加清晰;在操作系統(tǒng)內(nèi)核環(huán)節(jié),面向?qū)ο笏枷肽軌驇椭鷮W(xué)員迅速把握內(nèi)核的設(shè)計(jì)思路。
展開(kāi)的新語(yǔ)言課程應(yīng)該擁有比傳統(tǒng)教學(xué)模型更為高效的模型。比如在課程體系中引入Javascript語(yǔ)言的設(shè)想:傳統(tǒng)的JavaScript教學(xué) 是以BOM和DOM模型為主要的編程接口。但課程目的不限于此。JavaScript語(yǔ)言應(yīng)用會(huì)涉及服務(wù)器、中間層和客戶(hù)端兩個(gè)方向。由于統(tǒng)一講授語(yǔ)言本身,所以語(yǔ)法的教學(xué)內(nèi)容反而會(huì)更加精簡(jiǎn)。
面向?qū)ο笤O(shè)計(jì)模式
這個(gè)環(huán)節(jié)中講授的模型具有普遍價(jià)值:將全課程序列中涉及到的模式整理出來(lái)進(jìn)行深層次分析。涉及到的模式有:代理模式、策略模式、觀察者模式、工廠模式和單例模式等。經(jīng)典的設(shè)計(jì)模式理論局限在純粹的面向?qū)ο笳Z(yǔ)言中。而本環(huán)節(jié)課程突破了這種局限性。課程在不同語(yǔ)言模型下討論這些設(shè)計(jì)模式,從而能夠深入地學(xué)員體會(huì)語(yǔ)言差異對(duì)設(shè)計(jì)結(jié)果的影響。
中間層技術(shù)
這是一個(gè)不斷發(fā)展的課程環(huán)節(jié)。中間層技術(shù)是通往一切應(yīng)用技術(shù)的橋梁,它帶給 程序員迅速構(gòu)建復(fù)雜軟件系統(tǒng)的能力。中間層拓展了課程廣度,這使得學(xué)員能夠有 更廣闊的就業(yè)空間。課程序列的挑選原則是只教授那些在工程實(shí)踐中和設(shè)計(jì)手段上都具有普遍意義的內(nèi)容。向應(yīng)用層拓展課程正確的選擇應(yīng)當(dāng)是在各個(gè)平臺(tái)都能適用的技術(shù);ヂ(lián)網(wǎng)技術(shù) 給設(shè)備(及設(shè)備間)提供了 統(tǒng)一的編程接口和通信協(xié)議。傳統(tǒng)的嵌入式 培訓(xùn)只講socket編程。課程應(yīng)當(dāng)從知識(shí)的層次 上把網(wǎng)絡(luò)拓展到應(yīng)用層協(xié)議。
Java和Android
Java本身是一門(mén)非常復(fù)雜的語(yǔ)言,并且這種復(fù)雜性還在不斷增加中。在這個(gè)階段 要徹底放棄“全面介紹語(yǔ)法”的課程建設(shè)思維。在龐大語(yǔ)法和類(lèi)庫(kù)的一個(gè)精簡(jiǎn)子集上進(jìn)行講授。中間層有幾件事情要討論:數(shù)據(jù)結(jié)構(gòu)封裝、操作系統(tǒng)封裝、內(nèi)部通信和調(diào)用、外部通信和調(diào)用。特別要指出:通信技術(shù)使已有的軟件技術(shù)能力倍增,這在工程實(shí)踐中為工業(yè)界看重。這部分應(yīng)當(dāng)成為全課程體系的建設(shè)重點(diǎn),而且也是“嵌入式體系”相較其它專(zhuān)門(mén)體系的大優(yōu)點(diǎn)。
華清遠(yuǎn)見(jiàn)90+項(xiàng)目獲批!教育部2021最新協(xié)同育人項(xiàng)目名
華清遠(yuǎn)見(jiàn)榮獲2021騰訊教育“年度口碑影響力職業(yè)教育品
華清遠(yuǎn)見(jiàn)受邀參加2021年武漢民辦高校信息學(xué)科合作聯(lián)盟
溫暖同行共創(chuàng)佳績(jī) 2019華清遠(yuǎn)見(jiàn)北京總部年會(huì)大曝光
助力高校AI人工智能學(xué)科建設(shè) 華清遠(yuǎn)見(jiàn)人工智能師資班
華清遠(yuǎn)見(jiàn)受邀參加四川省物聯(lián)網(wǎng)年會(huì),榮獲優(yōu)秀企業(yè)專(zhuān)家