第1页共7页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共7页三、请书写一个类,该类只能产生同一个对象。(10分)PublicclassSingleton{PrivatestaticfinalSingletonsingleton=newSingleton();PrivateSingleton(){}PublicstaticSingletongetInstance(){Returnsingleton;}}四、程序补充题.(2*10分)1.观察者模式请根据以上类图填充完整下面的程式源码。publicinterfaceSubject{publicvoidregisterObserver(Observero);publicvoidremoveObserver(Observero);publicvoidnotifyObserver();厦门大学《软件体系结构》课程试卷软件学院系2010秋季年级软件工程专业主考教师:王备战试卷类型:(A卷)第2页共7页第1页共7页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共7页}publicinterfaceObserver{Publicvoidupdate(floattemp,floathumidity,floatpressure);}publicinterfaceDisplayElement{publicvoiddisplay();}publicclassWeatherDataimplementSubject{privateArrayListobservers;privatefloattemperature;privatefloathumidity;privatefloatpressure;publicWeatherData(){observers=newArrayList();}publicvoidregisterObserver(Observero){//有新的观察者加入时observers.add(o);}publicvoidnotifyObservers(){//状态更新时,通知各observer做状态的改变Iteratoritr=observers.iterator();Observerobserver=null;For(;itr.hasNext();){observer=(Observer)itr.next();observer.update(this.temperature,this.humidity,this.pressure);}}publicvoidmeasurementsChanged(){//度量值发生变化时通知observerthis.notifyObservers();}publicvoidsetMeasurements(floattemperature,floathumidity,floatpressure){this.temoreature=temperature;this.hunidity=humidity;this.pressure=pressure;第3页共7页第2页共7页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共7页measurementsChanged();}……}2.责任链模式责任链模式涉及到的角色责任链模式的实现抽象处理者(Handler)角色:定义出一个处理请求的接口。如果需要,接口可以定义出一个方法,以设定和返回对下家的引用。这个角色通常由一个抽象类或接口实现。具体处理者(ConcreteHandler)角色:具体处理者接到请求后,可以选择将请求处理掉,或者将请求传给下家。由于具体处理者持有对下家的引用,因此,如果需要,具体处理者可以访问下家。根据上面类图补充完整下面程序源码。具体处理者处理逻辑如下:若request大于等于0且小于10,则由ConcreteHandler1处理;若request大于等于10且小于20,则由ConcreteHandler2处理;若request大于等于20且小与30,则由ConcreteHandler3处理;usingSystem;//"Handler"abstractclassHandler{//FieldsprotectedHandlersuccessor;//MethodspublicvoidSetSuccessor(Handlersuccessor){this.successor=successor;}abstractpublicvoidHandleRequest(intrequest);}//"ConcreteHandler1"classConcreteHandler1:Handler{//Methods第4页共7页第3页共7页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第4页共7页overridepublicvoidHandleRequest(intrequest){if(request>=0&&request<10){Console.WriteLine("request值等于:"+request+"输出->h1");}else{this.successor.HandleRequest(request);}}}//"ConcreteHandler2"classConcreteHandler2:Handler{//MethodsoverridepublicvoidHandleRequest(intrequest){if(request>=10&&request<20){Console.WriteLine("request值等于:"+request+"输出->h2");}else{this.successor.HandleRequest(request);}}}//"ConcreteHandler3"classConcreteHandler3:Handler{//Methods……overridepublicvoidHandleRequest(intrequest){if(request>=20&&request<30){Console.WriteLine("request值等于:"+request+"输出->h3");}第5页共7页第4页共7页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第5页共7页else{if(this.successor!=null){this.successor.HandleRequest(request);...