freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

李林linux第一講前言(編輯修改稿)

2025-01-04 10:06 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 性地址空間、映射、物理地址 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 問題 8: ? 多線程一定具有比單線程更高的并發(fā)性嗎?為什么? ? 考慮多線程的網(wǎng)絡(luò)服務(wù)器模型 ? 當(dāng)有客戶請(qǐng)求到達(dá)時(shí),就創(chuàng)建一個(gè)線程,讓其為客戶服務(wù) ? 客戶感受到的時(shí)間開銷包括:創(chuàng)建線程的時(shí)間、完成客戶請(qǐng)求的時(shí)間、線程銷毀的時(shí)間、線程切換的時(shí)間 ? 若采用單線程模型,即只有一個(gè)線程,客戶感受到的時(shí)間包括:完成客戶請(qǐng)求的時(shí)間、在隊(duì)列中排隊(duì)等待的時(shí)間 ? 若完成客戶請(qǐng)求的速度很快,快于客戶到達(dá)的速度,那么就沒有了排隊(duì)的時(shí)間,顯然比多線程快 ? 實(shí)際上只要排隊(duì)的時(shí)間 線程創(chuàng)建、銷毀、切換的時(shí)間,單線程都優(yōu)于多線程 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 問題 9: ? 同樣數(shù)目的多層次的 if- else語句和 switch語句哪個(gè)執(zhí)行速度更快?為什么? ? 為什么 switch語句必須是整數(shù)而不能是浮點(diǎn)或字符串。 ? 問題 10: ? this指針從何而來? ? 成員函數(shù)放在哪里? ? 虛表是怎么回事? 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 從高級(jí)語言到底層物理模型 ? 從高級(jí)語言到軟件架構(gòu) 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 為什么從高級(jí)語言到架構(gòu)設(shè)計(jì)這么重要? ? 幫助從普通程序員到架構(gòu)師 ? 注意在敏捷中,架構(gòu)師也是程序員 ? 不要當(dāng) PPT架構(gòu)師 ? 現(xiàn)狀: ? 很多人號(hào)稱使用 C++進(jìn)行面向?qū)ο蟮脑O(shè)計(jì),實(shí)際上只是把 struct變成了 class ? 不要以為功能實(shí)現(xiàn)了就 ok了,事情還很多 ? 程序 =數(shù)據(jù)結(jié)構(gòu) +算法 ? 程序 =數(shù)據(jù)結(jié)構(gòu) +算法 +架構(gòu) ? 架構(gòu)的學(xué)習(xí)更為重要。為什么呢? 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 為什么有這么多種軟件設(shè)計(jì)的思想? ? 結(jié)構(gòu)化的思想 ? 基于對(duì)象的思想 ? 面向?qū)ο蟮乃枷? ? 基于接口的思想 ? 基于模板的靜態(tài)的面向?qū)ο蟮乃枷? ? 面向方面的思想 ? 函數(shù)式的思想 ? ????????? ? 為了應(yīng)對(duì)軟件開發(fā)中的各類變化 ? 軟件開發(fā)的最大本質(zhì)就是手工開發(fā)模式,再加上其邏輯形態(tài),使其開發(fā)過程中變化點(diǎn)特別多 ? 為什么有這么多種軟件開發(fā)的管理方法? ? 傳統(tǒng)的方法 ? XP ? Scrum ? ?????? 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 項(xiàng)目初始時(shí),用戶自己都不知道自己需要的是什么 —— 漢弗萊定律 ? 隨著項(xiàng)目的推進(jìn),對(duì)軟件產(chǎn)品的理解逐漸加深,提出很多需求變化,甚至到了驗(yàn)收階段還要求增加新功能 ? 而軟件產(chǎn)品的邏輯形態(tài)又加劇了這一現(xiàn)象 ? 從管理層面講,應(yīng)盡可能地使各類變化(需求、設(shè)計(jì)、實(shí)現(xiàn)、人員等等)帶來的影響降到最低 ? 例如敏捷開發(fā)的生命周期 ? 對(duì)用戶變化的延遲就是一次迭代周期;而基本的瀑布模型則是整個(gè)生命周期 ? 之所以有多種管理方法,就是從不同的角度來考慮如何降低變化點(diǎn)帶來的影響 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 從技術(shù)層面講,當(dāng)有變化產(chǎn)生時(shí),當(dāng)用戶要增加新功能時(shí),我們希望只需要增加新代碼,而不用修改老代碼 —— 代碼的封閉性 ? 也是降低變化帶來的影響 ? 之所以有多種程序設(shè)計(jì)的思想,就是從不同的角度來思考如何應(yīng)對(duì)變化點(diǎn),如何做到代碼的封閉性 ? 按照不同的程序設(shè)計(jì)思想,寫出來的代碼之間將具有不同的組織關(guān)系 ? 函數(shù)之間、類之間、模塊之間、子系統(tǒng)之間都存在著各種關(guān)系 ? 這種關(guān)系包含調(diào)用關(guān)系等等 ? 代碼之間存在的關(guān)系,被稱為架構(gòu) ? 因此,小到函數(shù)間,大到模塊間均存在架構(gòu)。架構(gòu)是有層次的 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 顯然,各種程序設(shè)計(jì)思想封裝變化點(diǎn)的原理,最后就體現(xiàn)在按照這種程序設(shè)計(jì)思想所實(shí)現(xiàn)的架構(gòu)上 —— 架構(gòu)的重要性 ? 一個(gè)理想的架構(gòu):當(dāng)變化到達(dá)時(shí),當(dāng)用戶要求增加新功能時(shí),只需要增加新代碼而不用改老代碼 ? 當(dāng)進(jìn)行架構(gòu)設(shè)計(jì)時(shí),如何決策? ? 首先根據(jù)經(jīng)驗(yàn),判斷可能的變化點(diǎn) ? 把這些變化點(diǎn)按照優(yōu)先級(jí)排序,并賦予權(quán)重 ? 設(shè)計(jì)架構(gòu)決策時(shí),即判斷該架構(gòu)是否能容納上述變化點(diǎn);比較多個(gè)架構(gòu)時(shí),即比較各自容納的變化點(diǎn) ? 優(yōu)先容納優(yōu)先級(jí)高的、權(quán)重大的變化點(diǎn) 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 程序 =數(shù)據(jù)結(jié)構(gòu) +算法 +架構(gòu) ? 為什么架構(gòu)的學(xué)習(xí)更為重要? ? 什么是寫得好的程序? ? 代碼規(guī)范 ? 縮進(jìn)、各種命名等等 ? 執(zhí)行效率高 ? 8020原則 ? 商業(yè)產(chǎn)品往往都使用成熟的技術(shù) ? 算法研究多年,常見的算法問題基本都有成熟的解決方案 ? 更多的工作是使用已有算法,或進(jìn)行適應(yīng)性改造 ? 架構(gòu)好,能容納變化點(diǎn) ? 變化是軟件開發(fā)的常態(tài) ? 設(shè)計(jì)每個(gè)函數(shù)、結(jié)構(gòu)體、類、模塊、系統(tǒng)時(shí),都要考慮容納變化點(diǎn),都要考慮架構(gòu) —— 每個(gè)程序員都跑不掉 加法器例子 ? 下面按照多種程序設(shè)計(jì)思想,來展示一個(gè)加法器的實(shí)現(xiàn),以體會(huì)不同程序設(shè)計(jì)思想在代碼間關(guān)系,即架構(gòu)上所帶來的不同 ? 本課程會(huì)多次展示六種編程范式的使用,加法器是第一次。后面幾次,將結(jié)合系統(tǒng) API進(jìn)行展示,以達(dá)到按照現(xiàn)代程序設(shè)計(jì)思想,靈活運(yùn)用 API的教學(xué)目的 加法器例子 ? 版本 1:結(jié)構(gòu)化的思想 ? 需要實(shí)現(xiàn)一個(gè)加法器:在這個(gè)加法器中,已經(jīng)保存了被加數(shù);現(xiàn)在需要傳遞加數(shù)給這個(gè)加法器,以讓其返回加法計(jì)算結(jié)果。 ? 結(jié)構(gòu)化的基本思路:用一個(gè)結(jié)構(gòu)體來保存被加數(shù),然后再外帶一個(gè)加法函數(shù) ? 代碼 加法器例子 ? 版本 1:結(jié)構(gòu)化的思想 ? 變化來了:現(xiàn)在需要給被加數(shù)添加一個(gè)權(quán)重值;但是以前的加法器仍需保留,因?yàn)檫€有一部分代碼會(huì)使用它。 ? 思路: ? 既然還有一部分代碼要用老的加法器,那么老加法器我們還是要保留的 ? 按照原有思路開發(fā)新的加法器 ? 代碼 加法器例子 ? 版本 1:結(jié)構(gòu)化的思想 ? 為什么會(huì)有如此長(zhǎng)的變量名? ? 反對(duì)寫注釋?。。? ? 不少人的注釋寫得很無聊,如“定義了一個(gè)整型變量”。這種情況主要為了應(yīng)付檢查 ? 很多時(shí)候代碼和注釋不一致 ——趕進(jìn)度 ? 不寫注釋能看懂代碼嗎? ? 按照職責(zé)單一的原則,這將導(dǎo)致每個(gè)類都很小 ? 通常至多 200到 300行,再加上每個(gè)類對(duì)應(yīng) .h和 .cpp文件,因此不會(huì)出現(xiàn)一個(gè)文件上千行而不知從何處下手 加法器例子 ? 版本 1:結(jié)構(gòu)化的思想 ? 反對(duì)寫注釋?。?! ? 不寫注釋能看懂代碼嗎? ? 按照職責(zé)單一的原則,這將導(dǎo)致每個(gè)類都很小 ? 變量、函數(shù)、類的名稱通常都較長(zhǎng),能起到顧名思義的作用 ——代碼自注釋 ? WeightingAdd、 SLWeightingAugend、 pSLWeightingAugend ? 文檔還是要寫的 ? 重要的類需要總體性的說明 ? 復(fù)雜的算法需要說明 ? 類之間的關(guān)系需要說明
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1