版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 西安科技(kj)大學(xué) 程序設(shè)計(jì)(chn x sh j)方法學(xué) 的復(fù)習(xí)筆記 姓名(xngmng): XXX 學(xué)號(hào): 120801XXXX 專業(yè)班級(jí):軟件工程12XX班第一章緒論(xln):一:程序設(shè)計(jì)方法學(xué):指的是在計(jì)算機(jī)上用可執(zhí)行的程序化代碼來有效的描述與解決特定問題算法(sun f)的過程。歷經(jīng)(l jn)階段:面向計(jì)算機(jī)的程序設(shè)計(jì) 2、面向過程的程序設(shè)計(jì) 3、面向?qū)ο蟮某绦蛟O(shè)計(jì) (封裝,繼承,;多態(tài)) 4、面向組件式的程序設(shè)計(jì) 5、其他的程序設(shè)計(jì)(遞歸,嵌入式) 二:三種基本的程序結(jié)構(gòu)(結(jié)構(gòu)流程圖) 1:選擇結(jié)構(gòu) 2:順序結(jié)構(gòu) 3:循環(huán)結(jié)構(gòu)三:算法: 含義:所謂算法就是指解決特定問題而需
2、要執(zhí)行者一步一步的施行的有窮操作過程的描述。 5大特征:有窮行 確定性 數(shù)據(jù)輸入 信息輸出 可執(zhí)行性四:程序設(shè)計(jì)的表示方法:圖形(程序流程圖) 表格(判定表) 語言(程設(shè)計(jì)語言)五:程序設(shè)計(jì)的基本特征 結(jié)構(gòu)化 模塊化 對象化 (OOP,Object Oriented Programming) 智能化 (AOP, Agent Oriented Programming) 第二章節(jié) 一:圖靈機(jī)的概念: 圖靈機(jī)是一種抽象計(jì)算模型,用來精確定義可計(jì)算函數(shù),是由一個(gè)控制器和一根假設(shè)無線長的工作帶組成,工作帶起著儲(chǔ)存作用,被劃分為很多大小相同的方格,每個(gè)方格上可以書寫特定的英文字母二: 通用圖靈機(jī)的思想:
3、把任意一臺(tái)圖靈機(jī)T的指令表編碼成在磁帶上表示為0和1的串。第三章 結(jié)構(gòu)化程序設(shè)計(jì)方法 一:GOTO語句的三大缺點(diǎn): 1、破換了程序的動(dòng)靜一致性 2、程序不易測試 3、限制了代碼的優(yōu)化二:結(jié)構(gòu)化程序設(shè)計(jì): 1:所謂結(jié)構(gòu)化程序設(shè)計(jì):就是采用以逐步降低算法抽象級(jí)為中心的一套程序設(shè)計(jì)方法而得到的具有良好(lingho)結(jié)構(gòu)的程序。 2:好的結(jié)構(gòu)化程序的特點(diǎn)(tdin): 一個(gè)比較(bjio)好的結(jié)構(gòu)程序在結(jié)構(gòu)方面應(yīng)具有以下兩個(gè)特點(diǎn): (1)大型程序按照其功能進(jìn)行模塊化分 (2)每一個(gè)基本程序單元具有的特征: 單入口、單出口 由三種基本結(jié)構(gòu)組成,控制使用goto語句 無死語句,即程序中不存在永遠(yuǎn)執(zhí)行不到
4、的語句 無死循環(huán) 書寫格式清晰 3:優(yōu)點(diǎn)(1)程序便于分工編制(2)有利于提高軟件的生產(chǎn)效率(3)結(jié)構(gòu)清晰,易于閱讀理解和保證其可靠性(4)易于修改,便于維護(hù)和驗(yàn)證其正確性(5)易于移植三:逐步求精含義:既是一種程序設(shè)計(jì)方法,也是驗(yàn)證程序正確性的方法四:NS圖主要特點(diǎn)是:(1)不使用流線,即不允許流程任意轉(zhuǎn)移,而只能從上到下順序進(jìn)行。這樣避免了流程轉(zhuǎn)來轉(zhuǎn)去而影響流程思路的理解;(2)采用三種基本結(jié)構(gòu)作為構(gòu)造算法的基本單元: 1)順序結(jié)構(gòu):在這種結(jié)構(gòu)中各模塊是按照他們出現(xiàn)的先后順序執(zhí)行的,即A模塊先于B模塊執(zhí)行,A與B模塊之間是順序關(guān)系 1、選擇結(jié)構(gòu):在計(jì)算機(jī)應(yīng)用的許多場合,要求程序按照給定的條
5、件進(jìn)行分析、比較和判斷,并根據(jù)判斷后的不同情況進(jìn)行不同的處理。此類情況即為選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu):循環(huán)是指對同一個(gè)程序段重復(fù)執(zhí)行若干次,被重復(fù)執(zhí)行的部分成為循環(huán)體。循環(huán)結(jié)構(gòu)就是根據(jù)給定條件成立與否,來決定是否執(zhí)行循環(huán)體。五:非結(jié)構(gòu)化到結(jié)構(gòu)化程序的轉(zhuǎn)化(zhunhu)1:代碼(di m)復(fù)制法2:條件(tiojin)復(fù)合技術(shù)3:布爾標(biāo)志技術(shù)第四章:設(shè)計(jì)模式一: 設(shè)計(jì)模式的三種模型分類: A 創(chuàng)建型模式:5種 1、單例模式:單例模式確保某一個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例單例模式。單例模式只應(yīng)在有真正的“單一實(shí)例”的需求時(shí)才可使用。 2、抽象工廠模式:客戶類和工廠類分開。消費(fèi)者
6、任何時(shí)候需要某種產(chǎn)品,只需向工廠請求即可。消費(fèi)者無須修改就可以接納新產(chǎn)品。缺點(diǎn)是當(dāng)產(chǎn)品修改時(shí),工廠類也要做相應(yīng)的修改。如:如何創(chuàng)建及如何向客戶端提供。 3、建造者模式:將對象的內(nèi)部表象和對象的生成過程分割開來,從而使一個(gè)建造過程生成具有不同的內(nèi)部表象的產(chǎn)品對象。建造模式使得產(chǎn)品內(nèi)部表象可以獨(dú)立的變化,客戶不必知道產(chǎn)品內(nèi)部組成的細(xì)節(jié)(xji)。建造模式可以強(qiáng)制實(shí)行一種分步驟進(jìn)行的建造過程。 4、工廠模式:核心工廠類不再負(fù)責(zé)所有產(chǎn)品的創(chuàng)建,而是將具體創(chuàng)建的工作交給(jio i)子類去做,成為一個(gè)抽象工廠角色,僅負(fù)責(zé)給出具體工廠類必須實(shí)現(xiàn)的接口,而不接觸哪一個(gè)產(chǎn)品類應(yīng)當(dāng)被實(shí)例化這種細(xì)節(jié)。 5、原型模
7、式:通過給出一個(gè)原型對象來指明所要?jiǎng)?chuàng)建的對象的類型,然后用復(fù)制這個(gè)原型對象的方法創(chuàng)建出更多同類型的對象。原始模型模式允許動(dòng)態(tài)的增加或減少產(chǎn)品類,產(chǎn)品類不需要非得有任何事先確定的等級(jí)(dngj)結(jié)構(gòu),原始模型模式適用于任何的等級(jí)結(jié)構(gòu)。缺點(diǎn)是每一個(gè)類都必須配備一個(gè)克隆方法。 B 結(jié)構(gòu)型模式:7種 1:適配器模式: 把一個(gè)類的接口變換成客戶端所期待的另一種接口,從而使原本因接口原因不匹配而無法一起工作的兩個(gè)類能夠一起工作。適配類可以根據(jù)參數(shù)返還一個(gè)合適的實(shí)例給客戶端。 2:橋接模式: 將抽象化與實(shí)現(xiàn)化脫耦,使得二者可以獨(dú)立的變化,也就是說將他們之間的強(qiáng)關(guān)聯(lián)變成弱關(guān)聯(lián),也就是指在一個(gè)軟件系統(tǒng)的抽象化和
8、實(shí)現(xiàn)化之間使用組合/聚合關(guān)系而不是繼承關(guān)系,從而使兩者可以獨(dú)立的變化。 3:裝飾模式:裝飾模式以對客戶端透明的方式擴(kuò)展對象的功能,是繼承關(guān)系的一個(gè)替代方案,提供比繼承更多的靈活性。動(dòng)態(tài)給一個(gè)對象增加功能,這些功能可以再動(dòng)態(tài)的撤消。增加由一些基本功能的排列組合而產(chǎn)生的非常大量的功能。 4:組合模式: 5:外觀模式: 6:享元模式:享元模式以共享的方式高效的支持大量的細(xì)粒度對象。享元模式能做到共享的關(guān)鍵是區(qū)分內(nèi)蘊(yùn)狀態(tài)和外蘊(yùn)狀態(tài)。 7: 代理模式;代理模式給某一個(gè)對象提供一個(gè)代理對象,并由代理對象控制(kngzh)對源對象的引用。 C 行為(xngwi)型模式: 模版方法模式(msh)、命令模式、迭
9、代器模式、觀察者模式、中介者模式、備忘錄模式、解釋器模式、狀態(tài)模式、策略模式、職責(zé)鏈模式、訪問者模式。策略模式:策略模式針對一組算法,將每一個(gè)算法封裝到具有共同接口的獨(dú)立的類中,從而使得它們可以相互替換。策略模式使得算法可以在不影響到客戶端的情況下發(fā)生變化。策略模式把行為和環(huán)境分開。環(huán)境類負(fù)責(zé)維持和查詢行為類,各種算法在具體的策略類中提供。由于算法和環(huán)境獨(dú)立開來,算法的增減,修改都不會(huì)影響到環(huán)境和客戶端模板方法模式:模板方法模式準(zhǔn)備一個(gè)抽象類,將部分邏輯以具體方法以及具體構(gòu)造子的形式實(shí)現(xiàn),然后聲明一些抽象方法來迫使子類實(shí)現(xiàn)剩余的邏輯。不同的子類可以以不同的方式實(shí)現(xiàn)這些抽象方法,從而對剩余的邏輯
10、有不同的實(shí)現(xiàn)。先制定一個(gè)頂級(jí)邏輯框架,而將邏輯的細(xì)節(jié)留給具體的子類去實(shí)現(xiàn)面向?qū)ο缶幊蹋∣OP)技術(shù)面向?qū)ο螅∣O)技術(shù)向?qū)ο缶幊陶Z言(OOPL)的三大機(jī)制“封裝、繼承、多態(tài)”第五章 組件組件的概念:可以自行進(jìn)行內(nèi)部管理的一個(gè)或多個(gè)類組成的群體組件技術(shù)的特點(diǎn):真正的軟件重用和高度的互操作性接口的可靠性可擴(kuò)充服務(wù)具有強(qiáng)有力的基礎(chǔ)設(shè)施具有構(gòu)建和膠合組件的工具常用(chn yn)的組件模型對象管理(gunl)組織OMG( Object Management Group,)的 公共對象請求(qngqi)代理體系結(jié)構(gòu) CORBA(Common Object Request Broker Architect
11、ure, ) Microsoft公司的 組件對象模型COM( Component Object Model,)/分布式組件對象模型DCOM(Distributed )SUN公司的EJB(Enterprise JavaBeans )組件技術(shù)與面向?qū)ο蠹夹g(shù)的比較: 組件技術(shù) 面向?qū)ο蠹夹g(shù)目標(biāo) 應(yīng)用程序間的更大范圍的組件的重用 應(yīng)用程序內(nèi)更大行為的重用基本關(guān)系 請求/響應(yīng)的關(guān)系 行為的繼承關(guān)系重點(diǎn) 組件接口不變 可擴(kuò)展的類的層次關(guān)系最終目的 應(yīng)用程序具有定義良好的接口, 應(yīng)用程序通過對象、類的層次關(guān) 可以很容易地替換其中的組件 系的擴(kuò)展來改變行為 IUnknown()接口是COM組件的核心接口,所有
12、其他COM接口都必須從IUnknown繼承。IUnknown接口包含了三個(gè)成員函數(shù)(方法):QueryInterfaceAddRefReleaseCOM接口(ji ku)的特點(diǎn)1、二進(jìn)制特性(txng):接口規(guī)范并不建立在任何編程語言的基礎(chǔ)上,而是規(guī)定了二進(jìn)制一級(jí)的標(biāo)準(zhǔn)。任何語言只要有足夠(zgu)的數(shù)據(jù)表達(dá)能力,就可以對接口進(jìn)行描述,從而可以用于組件程序有關(guān)的應(yīng)用開發(fā)。2、接口不變性:接口是組件客戶程序和組件對象之間的橋梁,接口如果經(jīng)常發(fā)生變化,則客戶程序和組件程序也要跟著變化,這對于應(yīng)用系統(tǒng)的開發(fā)非常不利,也不符合組件化程序設(shè)計(jì)的思想,所以接口應(yīng)該保持不變3、繼承性:COM接口具有普遍性,
13、但不變性并不意味著接口不再發(fā)展,隨著應(yīng)用系統(tǒng)和組件程序的發(fā)展,接口也需要發(fā)展。類似于C+中類的繼承性,接口也可以繼承發(fā)展,但接口繼承與類繼承不同。4、多態(tài)性:多態(tài)性是面向?qū)ο笙到y(tǒng)的重要特性,COM對象也具有多態(tài)性,其多態(tài)性通過COM接口體現(xiàn)。第六章 遞歸程序設(shè)計(jì)方法遞歸模型:f(S 0)=M 0 (0為下標(biāo))遞歸求值過程就是從一個(gè)已知值推出下一個(gè)值的過程。 遞歸的執(zhí)行過程: 分解和求值 歷經(jīng)很多步才能求出最后的值 遞歸問題 從大到小的分解和樹型結(jié)構(gòu)的從整體到局部的分解是類似的 第一次調(diào)用就是對應(yīng)樹型的根節(jié)點(diǎn),遞歸調(diào)用的結(jié)束就對應(yīng)樹的葉子節(jié)點(diǎn),遞歸的實(shí)現(xiàn)轉(zhuǎn)化為樹的遍歷遞歸算法(sun f)到非遞
14、歸算法的變換采用迭代(di di)解法末尾(mwi)遞歸的消除使用堆棧 使用堆棧的思想:如果一個(gè)遞歸問題既不容易找到迭代方法又不屬于末尾遞歸的情況,總還可以利用堆棧為其設(shè)計(jì)出非遞歸的算法第九章:AndroidAndroid 的優(yōu)點(diǎn):1、真正開放性2、應(yīng)用程序相互平等3、應(yīng)用程序之間溝通無界限4、快速方便的應(yīng)用程序開發(fā)Android 的系統(tǒng)四層架構(gòu) 第一層以Linux內(nèi)核工作為基礎(chǔ),由C語言開發(fā),只提供由操作系統(tǒng)內(nèi)核管理的底層基本功能;第二層為中間件層,包括函數(shù)庫Library和虛擬機(jī)Virtual Machine,由C+開發(fā);第三層為應(yīng)用程序框架層,提供了Android平臺(tái)基本的管理功能和組件重
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 動(dòng)物園館導(dǎo)游員工作總結(jié)
- 2024施工項(xiàng)目綜合包工合同書版B版
- 2024年綜合交通樞紐建設(shè)合作協(xié)議3篇
- 2024房屋買賣居間合同模板
- 環(huán)保設(shè)施采購招投標(biāo)合同模板
- 印刷機(jī)長勞動(dòng)合同書
- 微電影制作責(zé)任協(xié)議
- 二零二五年度LED燈具安裝與照明節(jié)能評估合同3篇
- 汽車俱樂部空調(diào)使用規(guī)范
- 二零二五年干股合作協(xié)議書干股投資知識(shí)產(chǎn)權(quán)保護(hù)協(xié)議
- 三級(jí)配電箱巡檢記錄
- 《全國統(tǒng)一安裝工程預(yù)算定額》工程量計(jì)算規(guī)則
- GA/T 798-2008排油煙氣防火止回閥
- GA/T 1163-2014人類DNA熒光標(biāo)記STR分型結(jié)果的分析及應(yīng)用
- 《中國紅》詩歌朗誦
- 光伏工程啟動(dòng)驗(yàn)收鑒定書
- 承攬合同糾紛答辯狀范例2篇
- 管線管廊布置設(shè)計(jì)規(guī)范
- 招聘與錄用選擇題
- 《工資、薪金的個(gè)人所得稅的計(jì)算》教學(xué)設(shè)計(jì)
- 周視瞄準(zhǔn)鏡的初步設(shè)計(jì)-北京理工大學(xué)-光電學(xué)院小學(xué)期作業(yè)
評論
0/150
提交評論