嵌軟第二學(xué)期系統(tǒng)分析與設(shè)計chap_第1頁
嵌軟第二學(xué)期系統(tǒng)分析與設(shè)計chap_第2頁
嵌軟第二學(xué)期系統(tǒng)分析與設(shè)計chap_第3頁
嵌軟第二學(xué)期系統(tǒng)分析與設(shè)計chap_第4頁
嵌軟第二學(xué)期系統(tǒng)分析與設(shè)計chap_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1122 1

2 2Builder- publicclasspublicstaticSamplecreator(int//getClass產(chǎn)生Sample一般可使用動態(tài)類ifreturnnewSampleA();elseif(which==2)returnnew}} FactoryMethod FactoryMethod class Sample }publicclassSimpleFactoryextendsFactory{publicSamplecreator(){returnnew}returnnew}}publicSamplereturnnew

returnnew Builder- BuilderpublicinterfaceBuilder//創(chuàng)建部件 void//創(chuàng)建部件Bvoid//創(chuàng)建部件CvoidProductgetResult();publicclassDirectorprivateBuilderpublicDirector(Builderbuilderthis。builder=builder;}//將部件partApartBpartC最后組成物體(這里是將車輪、方向盤和發(fā)動機組publicvoidconstruct()}

Prototype的類型,然后用這個原型對象的方法創(chuàng)建出同類型的對象。 Prototype Spoonimplements{StringpublicStringgetSpoonName(){returnthis.spoonName;}publicObjectclone(){Objectobject=tryobject= Spoonisnot}return}}publicclassSoupSpoon {public{}}publicclassSaladSpoon {public2010-4-{}

publicclassSingletonprivatestaticSingletoninstance=publicstaticsynchronizedSingletongetInstance(){if(instance==null)instance=newSingleton();return}} Adapter-BridgeCompositeDECORATORFacadeFLYWEIGHT Adapter- Adapter}}publicvoidinsert(Stringstr){roundPeg.insertIntoHole(str);} 抽象化化之間使用組合/聚合關(guān)系而 Bridge {} void} { void}{{}} Composite class{ double double public toriter(){returnnull;}publicclassDiskextends 供比繼承的靈活性。動態(tài)給一個對象 {publicvoid}publicvoidinsert(){}}publicclassDecoratorimplementsprivateArrayListothersnewArrayList();{}publicvoid}publicvoidnewMethod(){}publicvoid{ tor= while {

}}

tor.next()))+“正在進行行。門面模式提供一個次的接口,使得子系統(tǒng)更易于 public pareStringsql="SELECT*FROM<table>WHEREname>=tryMysqlmsql=newmysql(sql);prep.setString(1,"<columnvalue>");rset=prep.executeQuery();if(rset.next())}}catch( ceptione){}finally}} publicclassCDprivateStringtitle;privateintyear; publicStringgetTitle(){publicintgetYear(){ (){

return returnyear; publicvoidsetTitle(String title=publicvoidsetYear(inty){year=y;}publicvoidset =a;}}public privateString//note isname=

(String}}public Factory Hashtablepool=new (Stringresult= if(resultnull)result= }

return 模式給某一個對象提供一個對象,并由對象控制對源對象的。就是一個人或一個機構(gòu)代表另某些情況下,客戶不想或者不能夠直接一個對象,代客戶端分辨不 對象與真

--publicclassForumPermissionspublicclassimplementspublicclassDbForumimplementsForum, ChainofResponsibilityCommandInr\terpreter tor-MediatorMemento-Observer-State teMethod-ir ChainofResponsibility ChainofResponsibilitypublicinterfacepublicvoidhandleRequest(Request}publicclassRequest{privateStringtype;publicRequest(StringpublicStringgetType(){returnpublicvoid//request真正具體行為代 }publicclassConcreteHandlerimplementsprivateHandlerpublicConcreteHandler(Handlersuccessor){}publicvoidhandleRequest(Requestrequest){if(requestinstanceofHelpRequest){}elseif(requestinstanceof}

publicinterfaceCommand voidexecute(}publicclasspublicstaticListproduceRequests(){Listqueue=newArrayList();queue.add(newDomesticEngineer());queue.add(newPolitician());queue.add(newProgrammer());returnqueue;}}public mandpublicstaticvoidmain(String[]args)Listqueue=for torit= tor();it.hasNext();}} Interpreter-在解釋器模式中需要定義一文法令類的等Interpreter 迭代子模式簡化了的界面。每一個對象都可 public mandpublicstaticvoidmain(String[]args)Listqueue=PduceRequests();for(I torit=queue.i it.hasNext();}} ...}}}200-2ublic 備忘錄對象是一個用來另外一個對象內(nèi)部狀態(tài)的快照一個對象的狀態(tài)捉住,并外部化,起來,從而可以在將來合適的時候把這個對象還原到起來的狀態(tài)。 privateintprivateFilefile=publicOriginator(){} publicMementogetMemento(){returnnew number=m.number;file=}}privateFilefile=number=o.number;file=o.file;}} 這 publicclassproductextendsprivateStringname;privatefloatprice;publicStringgetName(){returnname;}publicvoidsetName(){}}publicclassNameObserverimplements

privatepublicvoidupdate(Observableobj,Objectif(arginstanceofSystem.out.println("NameObserver:namechangetto}}} publicclassBlueStateextendspublicvoidhandlepush(Contextc){//根據(jù)push方法“如果是blue狀態(tài)的切換到green}publicvoidhandlepull(Contextc根據(jù)pull方法“如果是blue狀態(tài)的切換到redc.setState(newRedState());} voidgetcolor(){return}publicclassprivateSatestate=nullColorstate改成了新建的StatepulicvoidsetState(State}publicvoidSamplesample=newSample(state.getColor());}publicvoidSample2sample2=new}20? protectedStringoldString="";}} }publicvoidtestRe RepTempRulerule=newRepTempRuleOne(); } teMethod-及具體構(gòu)造子的形式實現(xiàn),然后一些抽象方法來迫使 ysis&chapter7SurveyonArchitectureYangYI,ComputerScienceDepartment,:86- teMethod- class { void 重復(fù)執(zhí)行 publicfinallongrepeat(intcount){if(count<=0)

longstartTime=for(inti=0;i<count;i++) longstopTime=returnstopTime-}}}publicclass arkextends {真正定義 publicvoid ark()for(inti=0;i<Integer.MAX_VALUE;}}} Visitor 者模式的目的是封裝一些施加于某種數(shù)據(jù)結(jié)構(gòu)元上的 對自由的演化。者模式使得增加新的操作變的很容易,就是增加一個新的者類。 者模式將有關(guān)的行為集中到一個者對象中,而不是分散到一個個的節(jié)點類中。當(dāng)使用者模式時,要將盡可能多的對象瀏覽邏輯放在者類中,而不是放到它的子類中。者模式可以跨過幾個類的等級結(jié)構(gòu)屬于不同的等級結(jié) Visitor publicinterface{publicvoidaccept(Visitor

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論