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

正文內(nèi)容

面向對象分析與設計開發(fā)文檔(參考版)

2025-06-21 03:01本頁面
  

【正文】 Private Fruit pl,p2。}}Public class TestApp{Private AppleFactory f1。}}Public class BananaFactory {Public Fruit produce(){ Fruit f= new Banana()。}}Public class AppleFactory {Public Fruit produce(){ Fruit f= new Apple()。}Public class Apple implements Fruit{Public void introduce(){ (“this is an apple”)。p2=()。 f2 =new AppleFactory()。Private Fruit pl,p2。 return f。 return f。}}Public interface FruitFactory{ Public Fruit produce()。}Public class Apple implements Fruit{Public void introduce(){ (“this is an apple”)。解決方案:考慮將簡單工廠設計模式中的簡單工廠由原來的類改為接口,產(chǎn)生具體對象的職責由具體實現(xiàn)類負責。實現(xiàn)與接口 則強調 實現(xiàn)類要實現(xiàn)接口類中公布的所有方法。父類與子類 實現(xiàn)與接口 都可以實現(xiàn)對象的多態(tài)和方法的多態(tài)。(2)客戶只知道傳入工廠類方法的參數(shù),對于如何創(chuàng)建對象不關心的情況。(3)由于簡單工廠模式使用靜態(tài)工廠方法,子類無法覆蓋父類的靜態(tài)方法,造成工廠角色無法形成基于繼承的等級結構。(2)系統(tǒng)擴展困難。簡單工廠模式的優(yōu)點:(1)提供了一個公共工廠類方法,一旦需要某個對象時,只需傳入相應的參數(shù),就可以得到相應的對象。 } throw new BadFruitException(Bad fruit request)。 } else if ((grape)) { return new Strawberry()。 if ((apple)) { if 產(chǎn)品參數(shù)=具體產(chǎn)品B new 具體產(chǎn)品B()。但是靜態(tài)方法是要占用內(nèi)存的。靜態(tài)方法是類方法,不需要去實例化類就可以調用這個方法,靜態(tài)方法內(nèi)部使用的是靜態(tài)變量,這些就相當于全局變量,有類就有方法。生產(chǎn)產(chǎn)品方法下增加一條下劃線,以示該方法是靜態(tài)方法。根據(jù)對象消息序列圖,抽象相應的設計類圖如下:為了使用簡單工廠的工廠方法時,不必實例化很多簡單工廠對象,考慮將該方法定義為靜態(tài)方法。這個想法分析可得到如下對象消息序列圖:問題:對于 生產(chǎn)產(chǎn)品 這個方法的返回對象類型的確定解決方法:使用對象的多態(tài)性來解決這個問題。解決方案:設計一個類,由該類的一個靜態(tài)工廠方法來負責創(chuàng)建其它類的實例。工廠設計模式中,由工廠接口的工廠方法 根據(jù) 待創(chuàng)建新對象名 與具體的對象創(chuàng)建工廠 的映射關系來負責。2. 業(yè)務層詳細設計:3. 數(shù)據(jù)層詳細設計:第八部分 設計原則1. 拙劣設計的癥狀(1) 癥狀僵化性設計難以改變脆弱性設計易于遭到破壞頑固性設計難以重用粘滯性難以做正確的事情不必要的復雜性過分設計不必要的重復濫用鼠標進行復制、粘貼晦澀性混亂的表達(2) 案例(3) 原因分析(4) 問題解決2. 設計原則單一職責原則開放封閉原則Liskov替換原則依賴倒置原則接口分離原則(1) 單一職責原則(2) 開放封閉原則(3) Liskov替換原則(4) 依賴倒置原則(5) 接口分離原則第九部分 設計模式1. 設計模式分類(1) 創(chuàng)建型創(chuàng)建型設計模式重點解決的問題:有新對象要創(chuàng)建,是?負責新對象的創(chuàng)建工作。第七部分 詳細設計表示層詳細設計、業(yè)務層詳細設計、數(shù)據(jù)層詳細設計已分別加在總體設計之后。(2)servlet通常有哪些方法:init方法,完成初始化service方法,包括doGet和doPost,用于接收用戶的請求,調用后臺的JavaBean或者EJB,選擇界面對用戶響應。在MVC模式中,JSP通常充當視圖,Servlet通常充當控制器。不同點在于JSP是在html或者xml中嵌入了Java代碼或者JSP的標記,在制作頁面方面具有優(yōu)勢,可以使用網(wǎng)頁編輯工具來制作網(wǎng)頁,然后嵌入Java或者JSP的標記。Servlet 常用的方法為:doGet()與doPost(),用于接收用戶的請求,調用后臺的JavaBean,或EJB對用戶進行響應。MVC模式為大型程序的開發(fā)及維護提供了巨大的便利。一方面為輸入數(shù)據(jù)的驗證、身份認證、日志及實現(xiàn)模塊化編程提供了一個合適的切入點;另一方面也提供了將業(yè)務邏輯從JSP文件中剝離的效果。(3) 系統(tǒng)體系結構的發(fā)展進程1 單機版1. 單機版人機交互與業(yè)務邏輯耦合在一起=控制臺應用程序=控制臺界面+業(yè)務邏輯控制2. 單機版(圖形用戶界面+業(yè)務邏輯控制)+ODBC/JDBC+數(shù)據(jù)庫=HTML/Applet/JSP+JavaBean+JDBC+數(shù)據(jù)庫=asp/+C+ODBC+數(shù)據(jù)庫2 基于C/S架構的系統(tǒng)體系結構3 基于Web的系統(tǒng)體系結構3. B/S模式人機交互與業(yè)務邏輯耦合在一起=(圖形用戶界面+業(yè)務邏輯控制1)(分布在客戶端)+業(yè)務邏輯控制2+JDBC/ODBC(布署在應用服務器端)+應用服務器+數(shù)據(jù)庫(布署在數(shù)據(jù)庫服務器)+數(shù)據(jù)庫服務器= HTML/Applet/JSP+JavaBean+JDBC+Tomcat+數(shù)據(jù)庫+MySql/SqlServer= HTML/Applet/JSP+Servlet+JavaBean+JDBC+Tomcat+數(shù)據(jù)庫+MySql/SqlServer.基于web的應用程序模型圖示:4 基于Web的三層系統(tǒng)體系結構4. B/S 模式將業(yè)務邏輯完全從表示層剝離Model 2引入了“控制器”的概念,控制器一般由servlet來擔任,客戶端的請求不再直接送給一個處理業(yè)務邏輯的JSP頁面,而是送給控制器,再由控制器根據(jù)具體的請求調用不同的事務邏輯,并將處理結果返回到合適的頁面??蚣軜嫵闪送ㄓ玫摹⒕哂幸话阈缘南到y(tǒng)主體部分,二次開發(fā)人員只需要像做填空題一樣,根據(jù)具體業(yè)務,完成特定應用系統(tǒng)中相關部分。概念角度:描述系統(tǒng)的主要構件及它們之間的關系模塊角度:包含功能分解與層次結構運行角度:描述一個系統(tǒng)的動態(tài)結構代碼角度:描述各種代碼和庫函數(shù)在開發(fā)環(huán)境中的組織。Philippe Kruchten提出4+1 模型用于描述軟件體系統(tǒng)結構。JspServerlet(充當控制器)dao (javaBean)Entity(javaBean)dbms與前一種方案類似。業(yè)務邏輯從JSP頁面中分離后,JSP文件蛻變成一個單純完成顯示任務的東西,即,,再加上控制器control,就構成了MVC模式。因此,這個servlet控制器為應用程序提供了一個進行前后端處理的中樞。由于邏輯開發(fā)與頁面設計的高度耦合,使得程序的修改與維護變得異常困難;且,邏輯與頁面的高度耦合,不便于分工合作,也不利于代碼的重用,這樣的程序其健壯性和可伸縮性都不好。2 訂餐系統(tǒng)的狀態(tài)圖:系統(tǒng)頁面設計:初態(tài)歡迎界面1菜單與今日特價顯示頁面2顧客訂單顯示頁面3訂單顯示頁面4次態(tài)動作顯示菜單與今日特價2無效2無效選菜33無效無效確認訂單or提交訂單or確認訂餐無效無效4無效關閉終態(tài)3 菜譜狀態(tài)圖:4 顧客訂單的狀態(tài)圖:顧客訂單頁面設計:初態(tài)顧客訂單為空1顧客訂單不空2次態(tài)動作確認添加菜信息22確認刪除菜信息無效25 訂單的狀態(tài)圖(2) 表示層設計:系統(tǒng)總體狀態(tài)轉換表:初態(tài)(1)(2)(3)(4)(5)(6)(7)(8)次態(tài)動作特價區(qū)2無效無效無效無效無效無效無效會員登錄33無效無效3無效無效無效會員注冊444無效無效無效無效無效查看所有菜單無效66無效無效無效無效無效登錄無效無效5/6無效無效無效無效無效重新登錄無效無效無效無效無效無效無效無效訂餐無效無效無效無效無效6無效無效查看訂單無效無效無效無效無效7無效無效進入結算無效無效無效無效無效8無效無效由狀態(tài)轉換表可以得到相應的狀態(tài)轉換圖如下:(3) 表示層的實現(xiàn):1 基于窗體的表示層2 基于web頁面的表示層2. 數(shù)據(jù)層設計與前一種方案類似。如果只有守衛(wèi)條件沒有事件說明,則只要守衛(wèi)條件為真狀態(tài)轉換就發(fā)生。守衛(wèi)條件是一個布爾表達式。狀態(tài)變遷通常是由事件觸發(fā)的,在這種情況下應在表示狀態(tài)轉換的箭頭線上標出觸發(fā)轉換的事件表達式;如果在箭頭線上未標明事件,則表示在源狀態(tài)的內(nèi)部活動執(zhí)行完之后自動觸發(fā)轉換。活動表中的動作表達式描述應做的具體動作。 entry 事件指定進入該狀態(tài)的動作, exit 事件指定退出該狀態(tài)的動作,而 do 事件則指定在該狀態(tài)下的動作。活動表語法格式如下:事件名 ( 參數(shù)表 )/ 動作表達式“ 事件名 ” 可以是任何事件的名稱。1. 人機交互界面表示層設計(1) 狀態(tài)圖:1 狀態(tài)圖的概念狀態(tài)圖初態(tài)用實心圓表示終態(tài)用一對同心圓 ( 內(nèi)圓為實心圓 ) 表示;中間狀態(tài)用圓角矩形表示可以用兩條水平橫線把它分成上、中、下 3 個部分。顧客id菜項id份數(shù)送餐時間送餐地點員工id員工姓名第五部分 系統(tǒng)總體設計方案3:人機交互界面+業(yè)務處理+DBMS系統(tǒng)使用的過程,即選菜控制器的使用過程,要對選菜控制器以及其所涉及的其他對象的狀態(tài)進行分析,因此,需要對選菜控制器的使用狀態(tài)、顧客是否登錄的狀態(tài)、菜譜的顯示狀態(tài),以及顧客訂單的編輯狀態(tài)進行分析。(顧客id, 選菜id,付款總金額,付款方式,送餐時間,送餐地點,確認id.). 顧客id要求與選菜id的顧客id相同。由此圖得到關系模式:(顧客id, 用戶名,密碼)(菜項id,菜名,價格,類型,介紹,圖片,是否特價)(顧客id, 菜項id, 份數(shù),選菜id)選菜id不是主鍵,是分組單位。思考:上圖所示ER圖有問題嗎?問題是什么?將上圖轉化為關系模式分別為:(顧客id,用戶名,密碼);(菜項id,菜名,價格,類型,介紹,圖片,是否特價);(顧客id,菜項id,份數(shù),總金額,付款方式,送餐時間,)還是有問題。(1) ER圖:ER圖是概念數(shù)據(jù)模型。弊端:擯棄了數(shù)據(jù)庫管理系統(tǒng)的強大的數(shù)據(jù)管理功能,擯棄了成熟的SQL語言。這種處理方式的優(yōu)點:業(yè)務層的處理完全在業(yè)務層,不與數(shù)據(jù)層打交道。(3) 使用Hibernate框架Hibernate 是一種ORM技術。表示層控制臺業(yè)務層業(yè)務處理層DAO數(shù)據(jù)層ODBC/JDBCDBMS系統(tǒng)框架(2) 增加一個單例對象DBOperation增加一個單例類DBOperation,用于操作數(shù)據(jù)庫。要求程序員不僅掌握面向對象編程知識也要掌握SQL數(shù)據(jù)處理知識。優(yōu)點:可以充分利用數(shù)據(jù)庫管理系統(tǒng)的強大的數(shù)據(jù)管理功能,以及成熟的SQL語言對數(shù)據(jù)進行操作。(2)配置數(shù)據(jù)源,連接數(shù)據(jù)庫,連接數(shù)據(jù)表。數(shù)據(jù)庫管理系統(tǒng)以關系型數(shù)據(jù)庫管理系統(tǒng)為主,采用結構化查詢語言進行,即SQL。相應的類圖如下:數(shù)據(jù)文件存放在外存中,由數(shù)據(jù)庫管理系統(tǒng)進行管理,以增、刪、改、查為主要操作。在程序實現(xiàn)時,需要編寫相應的代碼,實現(xiàn)內(nèi)存數(shù)據(jù)與數(shù)據(jù)庫數(shù)據(jù)之間的讀寫操作。1. 業(yè)務層設計方案2的業(yè)務層設計與方案1的業(yè)務層的設計類似,仍然以對象消息時序圖為依據(jù),但由于有些對象的數(shù)據(jù)信息存放在數(shù)據(jù)庫中,為了區(qū)分這些對象的數(shù)據(jù)信息是通過訪問數(shù)據(jù)庫而得到,對于這些對象稱為一類數(shù)據(jù)訪問對象。}餐廳員工(Employee)類的屬性餐廳員工ididstring員工姓名namestring類的方法Set/get方法員工信息表(EmployeeInfo)類的屬性員工信息EmplInfoListEmployeeInfo類的方法Set/get方法2 確定類圖:3 Jackson圖用于表示對象的數(shù)據(jù)組成4 算法流程圖用于表示方法的實現(xiàn)流程3. 編碼4. 測試第四部分 系統(tǒng)設計方案2:控制臺應用程序+數(shù)據(jù)庫系統(tǒng)系統(tǒng)總體結構設計方
點擊復制文檔內(nèi)容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1