资源描述:
《aspect-oriented programming》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Aspect-OrientedProgrammingGregorKiczales,JohnLamping,AnuragMendhekar,ChrisMaeda,CristinaVideiraLopes,Jean-MarcLoingtier,JohnIrwinPublishedinproceedingsoftheEuropeanConferenceonObject-OrientedProgramming(ECOOP),Finland.Springer-VerlagLNCS1241.June1997.©Copyright1997Springe
2、r-VerlagThisworkissubjecttocopyright.Allrightsarereserved,whetherthewholeorpartofthematerialisconcerned,specificallytherightsoftranslation,reprinting,re-useofillustrations,recitation,broadcasting,reproductiononmicrofilmsorinanyotherway,andstorageindatabanks.Duplicationoft
3、hispublicationinitscurrentversion,andpermissionforusemustalwaysbeobtainedfromSpringer-Verlag.ViolationsareliableforprosecutionundertheGermanCopyrightLaw.Aspect-OrientedProgrammingGregorKiczales,JohnLamping,AnuragMendhekar,ChrisMaeda,CristinaLopes,Jean-MarcLoingtierandJohn
4、IrwinXeroxPaloAltoResearchCenter*Wehavefoundmanyprogrammingproblemsforwhichneitherproceduralnorobject-orientedprogrammingtechniquesaresufficienttoclearlycapturesomeoftheimportantdesigndecisionstheprogrammustimplement.Thisforcestheimplementationofthosedesigndecisionstobesc
5、atteredthrough-outthecode,resultingin“tangled”codethatisexcessivelydifficulttode-velopandmaintain.Wepresentananalysisofwhycertaindesigndecisionshavebeensodifficulttoclearlycaptureinactualcode.Wecalltheproper-tiesthesedecisionsaddressaspects,andshowthatthereasontheyhavebee
6、nhardtocaptureisthattheycross-cutthesystem’sbasicfunctionality.Wepresentthebasisforanewprogrammingtechnique,calledaspect-orientedprogramming,thatmakesitpossibletoclearlyexpressprogramsinvolvingsuchaspects,includingappropriateisolation,compositionandre-useoftheaspectcode.T
7、hediscussionisrootedinsystemswehavebuiltusingaspect-orientedprogramming.1.IntroductionObject-orientedprogramming(OOP)hasbeenpresentedasatechnologythatcanfundamentallyaidsoftwareengineering,becausetheunderlyingobjectmodelprovidesabetterfitwithrealdomainproblems.Butwehavefo
8、undmanyprogrammingproblemswhereOOPtechniquesarenotsufficienttoclearlycapturealltheimportantdesig