您好,欢迎访问三七文档
当前位置:首页 > 幼儿/小学教育 > 小学教育 > User Interface Software
UserInterfaceSoftwareJensColdewey,ColdeweyConsulting,Uhdestraße12,D-81477München,GermanyTel:+49-89-74995702;Fax:+49-89-74995703Email:jens_coldewey@acm.org©JensColdewey,ColdeweyConsulting,1998,AllRightsReservedCopyingpermittedforuseofPLoP98Thispatternlanguagedigsstepbystepintothedesignofauserinterfacearchitecture.Idonotmeanthelayoutofauserinterface.Thisisamatterofergonomicsandbearsenoughpotentialtoformacompletesetofpatternlanguagesonitsown.Ifyouareinterestedintheseissues,refertobookssuchas[Tog92],[Coo95],or[Col95].Instead,thispaperisaboutthesoftwarethatdrivestheuserinterface.Thefigurebelowshowstheoveralllandscapeofthepatternlanguage.Itstartswiththemostfundamentalpattern,theUserInterfaceLayer.Twopatternsdescribethearchitectureofthislayer:SeparateTransformationexplainshowtodealwithcomplexinteractionswhileWidgetModelhelpstostructurepresentation.Thoughbothpatternsseemtodescribedifferentphilosophies,theyareoftencombinedtoformthebasicarchitectureoftheUserInterfaceLayer.Stillyouneedtodealwithmoreissues.AtfirstyouhavetoprovideContextSupportbetweendifferentinteractionsoftheuser.Dependingontherequirementsandarchitectureofyoursystemyoucanapplyseveralpatternsforthis.Forthesakeofbrevitythisdocumentcontainsonlythumbnailsofthem.AnotherareaofinterestconcernsDomainLayerAccess,whichagainlaysthefoundationofseveralotherpatterns.Whilesomeofthemarewell-knowndesignpatterns,othersarespecialtouserinterfaces.Thissetofpatternsformsthecoarselandscapeofmostarchitecturesaround.SomeTermsExplainedIhaveusedseveraltermsinthispapernoteveryonemayshare.Igivearoughdefinitionhereandsomefurtherhintswheretofinddetailedinformationaboutit.Object-OrientedUserInterfaceIusethetermObject-OrientedUserInterfacetodescribeaninterfaceparadigmwheretheuserfirstselectsanobjectandthenchoosesanactionfromacontextmenuorviadirectmanipulation.TheMacintoshuserinterfaceisanexampleofsuchaninteractionparadigm:Theuserfirstselectsadocumentandthendecideswhattodowithit.Shecaneithermanipulateitviadoubleclickordragitovertheprintericontoprintitordootherfancythings.Thetermobject-orientedherereferstotheinteractionstyleratherthantotheimplementationtechnique–thoughitisusuallyagoodideatouseobject-orienteddesignandprogrammingtobuildthiskindofinterface.Formoredetailsreferto[Col95]forexample.Form-BasedUserInterfaceThetermForm-BasedUserInterfacedenotesinterfaceswheretheuserstartswithselectingacertainbusinessprocess.Theapplicationthenguidestheuserthoughthisprocesswithaseriesofforms.Mostuserinterfacesonmainframesystemsworkthisway.See[CoK97]forfurtherdiscussion.Object-OrientedSystemsIusethistermtorefertoapplicationsthathavebeendesignedandimplementedusingobject-orientedtechniques.Inthecontextofthispaperthemostimportantfeatureofthesesystemsisasetofobjectswiththeirownlife-cyclesthatinteracttoperformthefunctionality.Hencesingleusecasesortransactionsarenotrelevanttothearchitecture.Transaction-OrientedSystemsInthesesystemsthearchitectureusuallyisorganizedaroundtransactions.Everytransactioninvokesadifferentprogramthatmanipulatesadatabase.Mostprogramsusingtransactionprocessors,suchasCICS,arebuildthatway.See[GrR93]forfurtherdiscussion.HowtoReadthisPaperYourarelyreadapatternlanguagecovertocover.Structureandlayoutofthispaperhelpyoutodigintothepatternsasdeepasyouwantto.Forashortabstractofwhatthepatternisabout,readtheThumbnail.Youcaneasilygetanoverviewoverthecompletelanguagebyjustreadingeverythumbnailsection.IfyouareinterestedinthedetailedideaofthepatternreadContext,Problem,andSolution.Ifyouareinterestedintheforcesthatdrivethepatternandthebalancethesolutionchooses,youshouldalsoreadtheForcesandConsequencesofapattern.Bothsectionscontainthemainstatementsinstandardfont.Asmallfontindicatesathoroughdiscussionofthesestatements.Theimagebelowdemonstratesthesuggestedpathsthroughthispaper.UserInterfaceLayerThumbnailDrivingauserinterfacesiscomplexandmorepronetochangesthanthedomainusuallyis,...thereforeseparatedomainlevelissuesfromuserinterfacesoftwareandencapsulatetheuserinterfaceinaseparatelayer.ContextWhenyoudesignthearchitectureofacomplexbusinesssystemyouusuallyhavetostartwiththecoarsestarchitecturaldecisions:WhatarethelargechunksIhavetodesign?Informerdaystechnologicalconsiderationsdrovethefirstdecision,endingupinlargeapplicationswithatechnicalinteriorstructure.Thosewerethedaysof'TheStandardArchitecture'forcertainfamiliesofsystems,andthedaysof100peopleworkingononeproject.Todaymanyarchitectsfirstusedomainlevelaspectstochopthesystemintosmallerpartstheycallbusinessobjects,beforetheycarefortechnicalconsiderations.Nomatterwhichofthesetwowaysyougo,soonerorlateryouhavetoconsidertechnologicalaspectstofurthersubdivideyoursystem.Oneofthesetechnologicalaspectsispresentationofthesystemtowardstheusers.Thatiswherethispatternstepsin.Itappliestoobject-orientedsystemsaswellastotransaction-orienteddesigns,tosystemsusingthetool-materialmetaphor[Rie97]aswellastoform-basedapplications[CoK97].So...Problem...howdoyouplaceuserinterfaceissuesoflargesystemsintotheoverallarchitecture?Thereareseveralthingsyouhavetotakecareof:ForcesTheuseri
本文标题:User Interface Software
链接地址:https://www.777doc.com/doc-3370501 .html