付費(fèi)下載
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
設(shè)計(jì)模1內(nèi)容簡(jiǎn)設(shè)設(shè)計(jì)模式概設(shè)設(shè)計(jì)模式的描實(shí)例研究:實(shí)例研究:Visitor2設(shè)計(jì)模式概ChristopherAlexander:“每一個(gè)模式描述了 3設(shè)計(jì)模式的四個(gè)基本要模式名稱(Pattern一個(gè)解決方案問(wèn)題描述了應(yīng)該在何時(shí)使解決方案描述了設(shè)計(jì)的組成部分,它們之間的相互關(guān)系各自的職責(zé)和協(xié)作方式效果45問(wèn)題學(xué)校有教師和工 問(wèn)題學(xué)校有教師和工eclassclass{ privateintpublicstring{get{returnname;set{name=value;}public{get{ee;set e=value;}publicint{set{vacationDays=value;}}問(wèn)題classclassTeacher:{publicTeacher(stringname,{Name=e,inte VacationDays=}}classEngineer:{publicEngineer(stringname,{Name=e,inte VacationDays=}}問(wèn)題staticvoidMain(string[]{Teacherzhangsan=new ",2500.0,Engineer =new ",3500.0, e假期是Console.Wriine(lisi.Name+"的收入是"+ e+",假期是"+lisi.VacationDays);}如何批量主要內(nèi)1模1模式動(dòng)機(jī)與2模式結(jié)構(gòu)與3模式實(shí)例與4模式效果與應(yīng)者模式模式模式名稱:者模式對(duì)于系統(tǒng)中的某些對(duì)象,它們?cè)谕粋€(gè)集合中可以接受一類稱為者的對(duì)象來(lái),而且不同的者其方式有所不同,者模式為解決者模式模式 者模式模式 的類的前提下定義作用于這些元素的新操作。者模式結(jié)
者模式
者模式 者模式
問(wèn)題class{privatestringname;privatedouble publicstring{get{returnname;}set{name=value;}}public {get{return e;}set e=value;}publicint{get{returnvacationDays;}set{vacationDays=value;}}}問(wèn)題classclassTeacher:{{Name=e,inte }{}}classEngineer:{{Name=e,inte }publicoverridevoidAccept(Visitor{}}者模式class{} eVisitor:{{e*= }}{{ }}者模式class{privateArrayListemployees=newpublicvoidAttach(Employee{}publicvoidDetach(Employee{}publicvoidAccept(Visitor{foreach(Employeeein}}者模式staticvoidMain(string[]{Teacherzhangsan=new ",2500.0,Engineer =new ",3500.0,Employeese=newEmployees();eVisitorv1=new VacationVisitorv2=newVacationVisitor();}者模式模式
者模式classclass{//publicvoidAccept(Visitor}者模式classclassConcreteElementA:{//overridepublicvoidAccept(Visitor{}publicvoid{}}classConcreteElementB:{//overridepublicvoidAccept(Visitor{}publicvoid{}}者模式class{//privateArrayListelements=new//publicvoidAttach(Element{}publicvoidDetach(Element{}publicvoidAccept(Visitor{foreach(Elementeinelements)}}者模式classclass{//publicvoidConcreteElementAconcreteElementA);publicvoidVisitConcreteElementB(ConcreteElementB}者模式classclassConcreteVisitor1:{//overridepublicvoidConcreteElementA{ ine("{0}visitedby{1}",concreteElementA,this);}overridepublicvoidConcreteElementB{ ine("{0}visitedby{1}",concreteElementB,this);}}者模式classclassConcreteVisitor2:{//overridepublicvoidConcreteElementA{ ine("{0}visitedbyconcreteElementA,}overridepublicvoidConcreteElementB{ ine("{0}visitedby{1}",concreteElementB,this);}}者模式staticvoidMain(string[]{//SetupObjectStructureo=newObjectStructure();o.Attach(newConcreteElementA());o.Attach(newConcreteElementB());//CreatevisitorConcreteVisitor1v1=newConcreteVisitor1();ConcreteVisitor2v2=new//Structureacceptingvisitors}者模式者模式的優(yōu) ,增加新的操作會(huì)很復(fù)雜。而使用者模式,增加新的操作就意味著增加一個(gè)新的者類,因此將變者模式將有關(guān)的行為集中到一個(gè)者對(duì)象中,者模式可以跨過(guò)幾個(gè)類的等級(jí)結(jié) 者模式者模式的缺破壞封裝。者模式要求者對(duì)象并調(diào)用每的要求:它們必須一些自己的操作和內(nèi)部狀態(tài)。不然,者的就變得沒(méi)有意義。由于者對(duì)象自己會(huì)積累操作所需的狀態(tài),從而使這些狀態(tài)不再在節(jié)點(diǎn)對(duì)象中,這也是破壞封裝的。增加新的節(jié)點(diǎn)類變得很。每增加一個(gè)新的節(jié)點(diǎn)都意味著要在抽象者角色中增加一個(gè)新的抽象操作,并在每一個(gè)具體者類中增加相應(yīng)的具體操作。者模式模式模式應(yīng)
者模式 以供不 體元素。相同的者可以以不同的方式不同的元素,相同的元素可以接受不同者以不同方式。在者模式中,增加新的者無(wú)須修改原有系統(tǒng)者模式模式–者模式的主要優(yōu)點(diǎn)在于使得增加新的操作變得很容易,將有關(guān)元素對(duì)象的行為集中到一個(gè)訪以跨過(guò)類的等級(jí)結(jié)構(gòu)屬于不同的等級(jí)結(jié)構(gòu)的元素元素類很,而且在一定程度上破壞系統(tǒng)的封裝性。Visitor模式常見(jiàn)用 Avariableisliveataparticularpointintheprogramifitsvalueatthatpointwillbeusedinthefuture(dead,otherwise).
LivenessatTwoMore–Avariableislive-outatanodeifitisliveonanyofthatnode’sout-edges–Avariableislive-inatanodeifitisliveonanyofthatnode’sin-edges publicstaticvoidmain(String[]args)for(Stringname:args)Noderesult=if(result!=null&&resultinstanceofStatement)PerformGenKillpgnew newStackWorklist(),new
//pgnewPerformGenKill<AvailableExpression ArithmeticExpression>(newStackWorklist(),new publicinterfaceWorklistvoidadd(NodeNode}publicinterface ysis<T>ImmutableSet<T>getGen(NodeImmutableSet<T>getKill(NodeImmutableSet<T>ImmutableSet<T>ImmutableSet<T>ImmutableSet<T>}publicclassLiveVariable ysis<Variable>{publicImmutableSet<Variable>getGen(Nodenode)finalList<Variable>l=newArrayList<Variable>publicVoidvisit(UseVariableuv)return}returnnew}publicImmutableSet<Variable>getKill(Nodenode)finalList<Variable>l=newArrayList<Variable>publicVoidvisit(AssignStatementas)return}returnnew}publicImmutableSet<Variable>getInitial()returnnew}return}publicbooleanisReverse()return}}publicclassPerformGenKill<Lextends intpublicFlowGraphfg=newWorklist Map<Node,ImmutableSet<T>>stateofentry=newHashMap<Node,ImmutableSet<T>>(); Map<Node,ImmutableSet<T>>stateofexit=newHashMap<Node,ImmutableSet<T>>();Statement ysis)this.list= ysis publicbooleanlineNotEmpty(Stringintcolumnnum)int}return}
returnImmutableSet<T>getEntryResult(Nodenode)return ImmutableSet<T>getExitResult(Nodenode)return publicStringwriteOneLine(Stringfinalintcolumnnum,finalintrankwidth)String Stringwritecolumn=int }else{writecolumn=column[j];column[j]="“;retval+=retval+=' retval+= returnretval; voidrun(Statementroot)this.root=root;Expressions.aes.clear();numofiteration= ysis.isRev
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 客戶價(jià)值分析金融行業(yè)報(bào)告
- 智能窗戶行業(yè)前景分析報(bào)告
- 中醫(yī)業(yè)行業(yè)規(guī)模分析報(bào)告
- 雀巢行業(yè)秘密案例分析報(bào)告
- 智慧校園背景下初中物理與政治跨學(xué)科教學(xué)場(chǎng)景設(shè)計(jì)分析教學(xué)研究課題報(bào)告
- 肝素鈉乳膏在慢性阻塞性肺疾病治療中的應(yīng)用-洞察及研究
- 2026年環(huán)保新材料研發(fā)行業(yè)分析報(bào)告
- 面向領(lǐng)域方法的編譯器可擴(kuò)展性研究-洞察及研究
- 動(dòng)機(jī)理論與自我效能的關(guān)系-洞察及研究
- 跨文化娛樂(lè)倫理-洞察及研究
- (2025年)電力交易員筆試題附答案
- 2026年婦聯(lián)崗位面試高頻考點(diǎn)對(duì)應(yīng)練習(xí)題及解析
- 北京通州產(chǎn)業(yè)服務(wù)有限公司招聘筆試備考題庫(kù)及答案解析
- 2026屆江蘇省揚(yáng)州市江都區(qū)大橋、丁溝、仙城中學(xué)生物高一上期末聯(lián)考模擬試題含解析
- 臨床協(xié)調(diào)員CRC年度總結(jié)
- 編鐘樂(lè)器市場(chǎng)洞察報(bào)告
- 負(fù)壓沖洗式口腔護(hù)理
- 山東省泰安市2024-2025學(xué)年高一物理下學(xué)期期末考試試題含解析
- 凈化車(chē)間液氮洗操作規(guī)程
- 《中電聯(lián)標(biāo)準(zhǔn)-抽水蓄能電站鋼筋混凝土襯砌水道設(shè)計(jì)導(dǎo)則》
- 【可行性報(bào)告】2023年硫精砂項(xiàng)目可行性研究分析報(bào)告
評(píng)論
0/150
提交評(píng)論