




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件設(shè)計(jì)模式作圖題有電視機(jī)工廠(TVFAacyory)和電視機(jī)(TV)這兩種類型的對(duì)象,電視機(jī)的主要方法是(void play()),電視機(jī)工廠的主要方法是(TV produceTV()).已經(jīng)知道海爾工廠專門負(fù)責(zé)生產(chǎn)海爾電視機(jī),海信工廠專門負(fù)責(zé)生產(chǎn)海信電視機(jī),請(qǐng)按具體工廠模式畫出類圖。P83有直接面向客戶的抽象目標(biāo)類Robot,其提供的抽象方法為(void cry())和(void move())?,F(xiàn)有仿生機(jī)器狗類Dog,其提供方法分別為(void wang())和(void run())。有一個(gè)適配器類DogAdapter類,使得客戶可以通過DogAdapter類訪問Dog類的方法。請(qǐng)按類
2、適配器模式畫出類圖。P152有Buttom、Windows、Command、ExitCommd四個(gè)類。其中Buttom類是調(diào)用者;Windows類是接受者,有一個(gè)exitwnd()方法,是調(diào)用者最終所期望的運(yùn)行的方法;Command類是抽象命令類,其中有一個(gè)抽象方法execute();ExitCommand是具體的命令類,實(shí)現(xiàn)了execute()方法,請(qǐng)按命令模式畫出類圖。假設(shè)貓(Cat)是老鼠(Mouse)和狗(Dog)的觀察目標(biāo)(AnimalSubject),老鼠和狗是觀察者(AnimalObserver),貓叫(cry())老鼠跑,狗也跟著叫,使用觀察者模式描述該過程的類圖。程序題某OA
3、系統(tǒng)中,系統(tǒng)根據(jù)對(duì)比用戶在登錄時(shí)輸入的帳號(hào)和密碼以及在數(shù)據(jù)庫中存儲(chǔ)的帳號(hào)和密碼是否一致來進(jìn)行身份驗(yàn)證,如果驗(yàn)證通過,則取出存儲(chǔ)在數(shù)據(jù)庫中的用戶權(quán)限等級(jí)(以整數(shù)形式存儲(chǔ)),根據(jù)不同的權(quán)限等級(jí)創(chuàng)建不同等級(jí)的用戶對(duì)象,不同等級(jí)的用戶對(duì)象擁有不同的操作權(quán)限?,F(xiàn)使用簡(jiǎn)單工廠模式來設(shè)計(jì)該權(quán)限模塊。P69public abstract class User public abstract void diffOperation();public class Employee extends User public Employee() System.out.println(“創(chuàng)建員工對(duì)象!”); public
4、 void diffOperation() System.out.println(“員工有創(chuàng)建假條權(quán)限!”);public class Manager extends User public Manager() System.out.println(“創(chuàng)建經(jīng)理對(duì)象!”); public void diffOperation() System.out.println(“經(jīng)理有創(chuàng)建和審批假條權(quán)限!”);public class Admin extends User public Admin() System.out.println(“創(chuàng)建管理員對(duì)象!”); public void diffOper
5、ation() System.out.println(“管理員有創(chuàng)建和管理假條權(quán)限!”);public class UserFactory public static User getUser(int prr) if(0=per)return new Employee();else if(1=per)return new Manager();else if(2=per)return new Admin();elsereturn null;現(xiàn)在考察一個(gè)電源總開關(guān)的例子,以便進(jìn)一步說明外觀模式。為了使用方便,一個(gè)電源總開關(guān)可以控制一個(gè)風(fēng)扇、一臺(tái)空調(diào)和一臺(tái)電視機(jī)的啟動(dòng)和關(guān)機(jī)。通過改電源總開關(guān)可以同時(shí)
6、控制上述所有設(shè)備,使用外觀模式設(shè)計(jì)該系統(tǒng)。P218風(fēng)扇類Public class Fan Public void on() System.out.println(“風(fēng)扇打開!”);Public void off() System.out.println(“風(fēng)扇關(guān)閉!”);空調(diào)類Public class AirConditioner Public void on() System.out.println(“空調(diào)打開!”);Public void off() System.out.println(“空調(diào)關(guān)閉!”);電視機(jī)類Public class Television Public void on
7、() System.out.println(“電視機(jī)打開!”);Public void off() System.out.println(“電視機(jī)關(guān)閉!”);外觀類Public class Switch Private Fan fan; Private AirConditioner ac; Private Television tc;Public Switch() fan=new Fan(); ac=new AirConditioner(); tv=new Television();Public void on() fan.on(); ac.on(); tv.on();Public void
8、off() fan.off(); ac.off(); tv.off();某系統(tǒng)日志記錄器要求支持多種日志記錄方式,如文件記錄、數(shù)據(jù)庫記錄等,且用戶可以根據(jù)要求動(dòng)態(tài)選擇日志記錄方式,現(xiàn)使用工廠方法模式設(shè)計(jì)該系統(tǒng)。public interface Log public void writeLog();public class FileLog implements Log public void writeLog() System.out.println(“文件記錄!”);public class DatabaseLog implements Log public void writeLog() S
9、ystem.out.println(“數(shù)據(jù)庫記錄!”);public interface LogFactory public void createLog();public class FileLogFactory implements LogFactory public void createLog() System.out.println(“文件記錄創(chuàng)建中!”); return new FileLog();public class DatabaseLogFactory implements LogFactory public void createLog() System.out.prin
10、tln(“數(shù)據(jù)庫記錄創(chuàng)建中!”); return new DatabaseLog();請(qǐng)編寫類MyObj的克隆方法deepClone,MyObj有兩個(gè)私有屬性分別為x和y,其類型為string。public class MyObj implements Serializable private string x=null; private string y=null;public MyObj() this.x=new string(); this.y=new string();public deepClone() throws IOException,ClassNotFoundExceptio
11、n,OptionalDataException ByteArrayOutputStream bao=new ByteArrayOutputStream(); ObiectOutputStream oos=new ObiectOutputStream(bao); oos.writeObject(this); ByteArrayInputStream bis=new ByteArrayInputStream(bao.toByteArray(); ObiectInputStream ois=new ObiectInputStream(bis); return(ois.readObject();)pu
12、blic string getx() return this.x;public string gety() return this.y;public void display()System.out.println(“查看x,y”);用JAVA代碼模擬實(shí)現(xiàn)“數(shù)學(xué)運(yùn)算代理”實(shí)例,運(yùn)算包括加減乘除,數(shù)據(jù)類型為double。public interface Calculatorpublic double add(double x,double y);public double sub(double x,double y);public double mul(double x,double y);pu
13、blic double div(double x,double y);public class RealCalculator implements Calculatorpublic double add(double x,double y) return x+y; public double sub(double x,double y) return x-y ; public double mul(double x,double y) return x*y; public double div(double x,double y) return x/y; public class ProxyC
14、alculator implements Calculator private RealCalculator real public void init() real=new RealCalculator(); public double add(double x,double y) real.add(x,y);public double sub(double x,double y) real.sub(x,y);public double mul(double x,double y) real.mul(x,y);public double div(double x,double y) real.div(x,y);設(shè)計(jì)模式的7個(gè)原則(P26)單一職責(zé)原則開閉原則里氏代換原則依賴倒轉(zhuǎn)原則接口隔離原則合成復(fù)用原則迪米特法則簡(jiǎn)要分析各個(gè)模式的角色。簡(jiǎn)單工廠模式:工廠角色,抽象
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 消費(fèi)金融行業(yè)2025用戶畫像與精準(zhǔn)營(yíng)銷策略實(shí)施路徑研究報(bào)告
- 2025年醫(yī)藥流通企業(yè)供應(yīng)鏈協(xié)同創(chuàng)新與成本控制實(shí)證分析報(bào)告
- 再障的護(hù)理課件
- 膀胱結(jié)石題庫及答案
- 2025年電商平臺(tái)知識(shí)產(chǎn)權(quán)保護(hù)與電商廣告監(jiān)管策略優(yōu)化實(shí)踐報(bào)告
- 安全生產(chǎn)知識(shí)題庫及答案
- 安全生產(chǎn)法知識(shí)競(jìng)賽試題及答案
- 安全管理實(shí)務(wù)試題及答案
- 2025年工業(yè)互聯(lián)網(wǎng)平臺(tái)云計(jì)算資源動(dòng)態(tài)分配在智能校園科研管理系統(tǒng)中的應(yīng)用前景報(bào)告
- 數(shù)字藝術(shù)創(chuàng)作與交易產(chǎn)業(yè)鏈研究報(bào)告2025:版權(quán)保護(hù)與市場(chǎng)拓展
- 人工智能基礎(chǔ)智慧樹知到答案章節(jié)測(cè)試2023年武漢學(xué)院
- 配電室巡檢記錄表
- 數(shù)字程控交換機(jī)系統(tǒng)技術(shù)規(guī)范書
- 卓越績(jī)效評(píng)價(jià)準(zhǔn)則概述(專業(yè)性權(quán)威性實(shí)用性)
- GB 1886.20-2016食品安全國(guó)家標(biāo)準(zhǔn)食品添加劑氫氧化鈉
- 國(guó)資進(jìn)場(chǎng)交易工作流程講座
- 當(dāng)代法律英語翻譯全
- 制冷操作證培訓(xùn)教材制冷與空調(diào)設(shè)備運(yùn)行操作作業(yè)培訓(xùn)教程課件
- 湖南省長(zhǎng)沙市望城區(qū)2020-2021學(xué)年八年級(jí)下學(xué)期期末考試歷史試卷
- 下承式鋼桁梁橋結(jié)構(gòu)設(shè)計(jì)及優(yōu)化 (跨度64m)
- DB32-T 2665-2014機(jī)動(dòng)車維修費(fèi)用結(jié)算規(guī)范-(高清現(xiàn)行)
評(píng)論
0/150
提交評(píng)論