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

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功