欢迎来到天天文库
浏览记录
ID:12942140
大小:40.50 KB
页数:4页
时间:2018-07-19
《student_answers_chapter_14》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、SuggestedanswerforExercise14.2Asimple-mindedimplementationofthestructureinFigure14.8isgivenbelow.Itisapparentfromthecodethattheabstractsupplierinterfacehasnotbeenmodifiedwhenthenewabstractsupplierinterfacewasadded,andhencethatthemoduleisclosed.publicinte
2、rfaceAbstractSupplier{publicvoidoperation();}publicinterfaceNewAbsSupplierextendsAbstractSupplier{publicvoidnewOperation();}publicclassConcreteSupplierimplementsAbstractSupplier{publicvoidoperation(){System.out.println("ConcreteSupplier::operation()calle
3、d");}}publicclassNewConcSupplierimplementsNewAbsSupplier{publicvoidoperation(){System.out.println("NewConcSupplier::operation()called");}publicvoidnewOperation(){System.out.println("NewConcSupplier::newOperation()called");}}publicclassClient{AbstractSupp
4、liersupplier;publicClient(AbstractSuppliers){supplier=s;}publicvoiddoOperation(){supplier.operation();}}publicclassNewClient{NewAbsSuppliersupplier;publicNewClient(NewAbsSuppliers){supplier=s;}publicvoiddoOperation(){supplier.operation();}publicvoiddoNew
5、Operation(){supplier.newOperation();}}SuggestedanswerforExercise14.5ObserverDocument/ViewclassObserverclassCViewclassConcreteObserverclassCMyViewObserver.Update()CView.OnDraw()classSubjectclassCDocumentclassConcreteSubjectclassCMyDocSubject.Attach()CSubj
6、ect.AddView()Subject.Detach()CSubject.RemoveView()Subject.Notify()CSubject.UpdateAllViews()Subject.SetState()CSubject.SetStateInfo()Subject.GetState()CSubject.GetStateInfo()ThistableshowsthatvirtuallyeveryfeatureofObservercanbemappedintoacorrespondingfea
7、tureofDocument/View.Therearetwosignificantdifferencesbetweenthetwopatterns.Concreteobserversholdareferencetotheirsubjects,whereasinDocument/Viewallreferencesbetweenviewsanddocumentsaremaintainedattheabstractlevel.Inpractice,thisisnotverysignificant,andit
8、canbearguedthatDocument/ViewsupportstheassociationinObserver,asitissimplyinheritedfromthebidirectionalassociationlinkingtheabstractclasses.AnotherdifferenceisthecomplexityoftheupdateoperationinDocument/View.InObserver,the`
此文档下载收益归作者所有
点击更多查看相关文章~~