最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

第二章 面向?qū)ο蠹夹g(shù)

2023-04-26 22:51 作者:游戲理想國  | 我要投稿

一、面向?qū)ο蟮幕A(chǔ)

1、面向?qū)ο蠡A(chǔ)概念

面向?qū)ο?對象+類+繼承+消息通信


1、對象:在面向?qū)ο蟮南到y(tǒng)中,對象是基本運行時的實體,即包括數(shù)據(jù)(屬性),也包括作用于數(shù)據(jù)的操作(行為)。對象內(nèi)進行的操作通常稱為方法。一個對象一般由對象名(標識)、屬性和方法三個部分 組成。


2、消息:對象之間進行通信的一種構(gòu)造稱為消息。當一個消息發(fā)送給某個對象時,包含要求接收對 象去執(zhí)行某些活動的信息。接收到信息的對象經(jīng)過解釋,然后予以響應(yīng)。這種通信機制稱為消 息傳遞。發(fā)送消息的對象不需要知道接收消息的對象如何對請求予以響應(yīng)。


3、類:類是在對象之上的抽象,對象是類的具體化,是類的實例(instance )。在分析和設(shè)計時, 通常把注意力集中在類上,而不是具體的對象。也不必逐個定義每個對象,只需對類做出定義, 而對類的屬性進行不同賦值即可得到該類的對象實例。


4、繼承:繼承是父類與子類之間共享數(shù)據(jù)和方法的機制。這是類之間的一種關(guān)系,在定義和實現(xiàn)一 個類的時候,可以在一個已經(jīng)存在的類的基礎(chǔ)上進行,并把這個已經(jīng)的類所定義的內(nèi)容作為自己的內(nèi)容,并加入若干新的內(nèi)容。


5、多態(tài):在收到消息時,對象要予以響應(yīng)。不同的對象收到同一信息可以產(chǎn)生不同的結(jié)果,這一個 現(xiàn)象稱為多態(tài)(polymorphism)。Cardelli 和 Wegner 把它分為四類,通用的(參數(shù)的、包含的)、 特定的(過載的、強制的)。


6、動態(tài)綁定:綁定是一個把過程調(diào)用和響應(yīng)調(diào)用所需要執(zhí)行的代碼加以結(jié)合的過程。在一般的程序設(shè)計 語言中,綁定是在編譯時進行的,成為靜態(tài)綁定。動態(tài)綁定則是在運行時進化的,因此,一個給定的過程調(diào)用和代碼的結(jié)合直到調(diào)用發(fā)生時才進行。


2、面向?qū)ο蠓治?/p>

面向?qū)ο蠓治觯∣OA)的目的是為了獲得對應(yīng)用問題的理解。包括5個活動


認定對象

組織對象

對象間的相互作用

定義對象的操作

定義對象的內(nèi)部信息

3、面向?qū)ο笤O(shè)計

面向?qū)ο笤O(shè)計(OOD)含義是設(shè)計分析模型和實現(xiàn)相應(yīng)源代碼,在目標代碼環(huán)境中這種 源代碼可以被執(zhí)行。通常情況時,由概念模型生成的分析模型被裝入到相應(yīng)的執(zhí)行環(huán)境中時, 還需要被修改。


對象標識期間的目標是分析對象,設(shè)計過程也是發(fā)現(xiàn)對象的過程,稱之為再處理。 面向?qū)ο笫且环N程序設(shè)計風格,不只是一種具有構(gòu)造繼承性、封裝性和多態(tài)的程序設(shè)計語言族的命名。


4、面向?qū)ο蟪绦蛟O(shè)計

面向?qū)ο蟪绦蛟O(shè)計(OOP)的實質(zhì)是選用一種面向?qū)ο蟪绦蛟O(shè)計語言(OOPL),采用對 象、類及其相關(guān)概念所進行的程序設(shè)計。它的關(guān)鍵在于加入了類和繼承性,從而進一步提高了 抽象程度。


5、面向?qū)ο鬁y試

(1)算法層。測試類中定義的每個方法,基本上相當于傳統(tǒng)軟件測試中的單元測試。?


(2)類層。測試封裝在同一個類中的所有方法與屬性之間的相互作用。在面向?qū)ο筌浖蓄愂腔灸K,因此可以認為這是面向?qū)ο鬁y試中所特有的模塊測試。


(3)模板層。測試一組協(xié)同工作的類之間的相互作用。大體上相當于傳統(tǒng)軟件測試中的 集成測試,但是也有面向?qū)ο筌浖奶攸c(例如,對象之間通過發(fā)送消息相互作用)。?


(4)系統(tǒng)層。把各個子系統(tǒng)組裝成完整的面向?qū)ο筌浖到y(tǒng),在組裝過程中同時進行測試。


軟件工程中傳統(tǒng)的測試用例設(shè)計技術(shù),如邏輯覆蓋、等價類劃分和邊界值分析等方法,仍然可以作為測試類中每個方法的主要技術(shù)。面向?qū)ο鬁y試的主要目標也是用盡可能低的測試成 本和盡可能少的測試用例,發(fā)現(xiàn)盡可能多的錯誤。但是,面向?qū)ο蟪绦蛑刑赜械姆庋b、繼承和 多態(tài)等機制,也給面向?qū)ο鬁y試帶來一些新特點,增加了測試和調(diào)試的難度。


二、UML

2.1 事物



2.2 關(guān)系

UML中有4種關(guān)系:依賴、關(guān)聯(lián)、泛化和實現(xiàn)。






2.3 UML中的關(guān)系

2.3.1 類圖:類圖展現(xiàn)了一組對象、接口、協(xié)作和它們之間的關(guān)系。類圖中包含的內(nèi)容,如下圖所示:


?


2.3.2 對象圖:對象圖展現(xiàn)了某一時刻一組對象以及它們之間的關(guān)系。對象圖一般包括對象和鏈,如下圖所示:




2.3.3 用例圖:用例圖展現(xiàn)了一組用例、參與者以及它們之前的關(guān)系,如下圖所示:




2.3.4 交互圖:用于對系統(tǒng)的動態(tài)方面進行建模。一張交互圖表現(xiàn)的是一個交互行程序由一組對象和它們之間的關(guān)系組成,包含它們之間可能傳遞的消息。交互圖表現(xiàn)為序列圖、通信圖、交互概覽圖和時序圖。?


1)序列圖:


序列圖是場景的圖形化表示,描述了以時間順序組織的對象之間的交互活動。強調(diào)的是信息時間順序的交互圖。有兩個不同于通信圖的特征。


(1)序列圖有對象生命線。(2)序列圖有控制焦點。




2)通信圖


通信圖強調(diào)收發(fā)信息的對象的結(jié)構(gòu)組織,在早期版本中也被稱為協(xié)作圖,強調(diào)參加交互的對象的組織。通信圖如下圖所示:


通信圖有兩個不同于序列圖的特征:


(1)通信圖有路徑;(2)通信圖有順序號;




3)交互概述圖


交互概覽圖是 UML2.0 新增的交互圖之一,它是活動圖的變體,描述業(yè)務(wù)過程中的控制流 概覽,軟件過程中的詳細邏輯概覽,以及多個圖進行拼接,抽象掉了信息和生命線。它使用活動圖的表示法,如下圖所示:




4)計時圖


另一種新增的、特別適合實時嵌入式系統(tǒng)建模的交互圖稱為計時圖。其關(guān)注沿著線性時間軸、生命線內(nèi)部和生命線之間的條件改變。他描述對象狀態(tài)隨著時間改變的情況,很像示波器, 如下圖所示:




5)狀態(tài)圖


狀態(tài)圖通常包括簡單狀態(tài)和組合狀態(tài)、轉(zhuǎn)換(事件和動作)。如下圖所示:




?6)活動圖


活動圖專注系統(tǒng)的動態(tài)視圖,它對于系統(tǒng)的功能建模特別重要,并強調(diào)對象間的控制流程。一般包括活動狀態(tài)和動作狀態(tài)、轉(zhuǎn)換和對象。如下圖所示:




?7)構(gòu)件圖


構(gòu)件圖展現(xiàn)了一組構(gòu)件之間的組織和依賴,專注于系統(tǒng)靜態(tài)實現(xiàn)視圖。如下圖所示:




8) 組合結(jié)構(gòu)圖


用于描述一個分類器(如類、構(gòu)件等)的內(nèi)部結(jié)構(gòu),分類器與系統(tǒng)中其他組成部分之間的交互 端口,展示一組相互協(xié)作的實例如何完成特定的任務(wù),描述設(shè)計、架構(gòu)模式或策略。


9)部署圖


部署圖是用來對面向?qū)ο笙到y(tǒng)的物理方面建模的方法, 展現(xiàn)了運行時處理 結(jié)點以及其構(gòu)件(制品)的配置。一般對系統(tǒng)的靜態(tài)部署視圖進行建模,與構(gòu)件圖相關(guān)。如下圖所示:




10)包圖


包圖用于把模型本身組織成層次結(jié)構(gòu)的通用機制,不能執(zhí)行,展現(xiàn)由模型本身分解而成的組織 單元以及之間的依賴關(guān)系。如下圖所示:




三、設(shè)計模式

3.1 設(shè)計模式的要素

? ? ? ?設(shè)計模式的核心在于提供了相關(guān)問題的解決方案,使得人們可以更加簡單方便的復用成功的設(shè)計和體系結(jié)構(gòu)。


? ? ? ?設(shè)計模式4個基本要素: 模式名稱、問題、解決方案、效果。


3.2 創(chuàng)建型設(shè)計模式

? ? ? 創(chuàng)建型模式抽象了實例化過程,它們幫助一個系統(tǒng)獨立于如何創(chuàng)建、組合和表示它的哪些對象。一個類創(chuàng)建型模式使用繼承改變被實例化的類,而一個對象創(chuàng)建型模式將實例化委托給另一個對象。


? ? ?1)抽象工廠(Abstract Factory);2)生成器(Builder);3)工廠方法(Factory Method);4)原型(Prototype);5)單例(Singleton)


3.3 結(jié)構(gòu)型設(shè)計模式

? ? ? 1. 適配器(Adapter)2. 橋接(Bridge)3. 組合(Composite)4. 裝飾(Decorator)5. 外觀(Facade)6. 享元(Flyweight)7. 代理(Proxy)


3.4 行為設(shè)計模式

? ? ? ?行為模式涉及算法和對象間職責的分配。行為模式不僅描述對象或類的模式,還描述了它 們之間的通信模式。這些模式刻畫了在運行時難以跟蹤的、復雜的控制流。它們將用戶的注意力從控制流轉(zhuǎn)移到對象間的聯(lián)系方式上來。


1. 責任鏈(Chain of Responsibility)2. 命令(Command)3. 解釋器(Interpreter)4. 迭代器(Iterator)5. 中介者(Mediator)6. 備忘錄(Memento)7. 觀察者(Observer)8. 狀態(tài)(State)9. 策略(Strategy)10. 模板方法(Template Method)11. 訪問者(Visitor)

————————————————

版權(quán)聲明:本文為CSDN博主「陽仔蛋炒飯」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/yangzhiwei273/article/details/120335683


第二章 面向?qū)ο蠹夹g(shù)的評論 (共 條)

分享到微博請遵守國家法律
隆安县| 通渭县| 北碚区| 华坪县| 博乐市| 崇明县| 娱乐| 昭觉县| 监利县| 泸溪县| 鄱阳县| 偏关县| 和田县| 达拉特旗| 鞍山市| 来凤县| 香港 | 图片| 蒙自县| 柘城县| 平遥县| 大连市| 滨海县| 南丹县| 临泉县| 门头沟区| 夹江县| 克什克腾旗| 黔东| 碌曲县| 阿坝| 南宫市| 佛山市| 宽甸| 韩城市| 丽水市| 蓬溪县| 平顶山市| 裕民县| 修文县| 赞皇县|