关闭

关闭

封号提示

内容

首页 Manning_AspectJ in Action_2ed.pdf

Manning_AspectJ in Action_2ed.pdf

Manning_AspectJ in Action_2ed.p…

上传者: zongquanliu 2012-04-02 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《Manning_AspectJ in Action_2edpdf》,可适用于IT/计算机领域,主题内容包含MANNINGRamnivasLaddadFOREWORDBYRODJOHNSONINACTIONEnterpriseAOPwithSpringAp符等。

MANNINGRamnivasLaddadFOREWORDBYRODJOHNSONINACTIONEnterpriseAOPwithSpringApplicationsPraisefortheFirstEditionTherearealreadyseveralbooksaboutAspectJoneofitsmajoradvantagesMyfavoriteisAspectJinActionRodJohnson,CreatoroftheSpringFrameworkinJEEDevelopmentwithoutEJBOneoftheclearestexpositionsofAOPanditsbenefitsthatIhaveseenItisobviousthatalotofcareandattentionhasgoneintothepreparationofthematerialAdrianColyer,AspectJProjectLead,inTheComputerJournalIwouldhighlyrecommendAspectJinActiontoanyonewhoisinterestedinAOPIlikedthepracticalangle,andyoucouldtellthatRamnivashasreallyusedAOPAspectJonhisprojectsDionAlmaeratTheServerSidecom…realsolutionstotoughproblemsChrisBartling,Identix,IncLaddadbringstotheprofessionalcommunityavaluablebook,tosupportAOPtutoringandadoptionawellconstructed,wellbalancedbookthatdeliverswhatitpromisesComputingReviewsatwwwreviewscomIstartedreadingatPMandcouldn’tstop…It’samustreadforanyoneinterestedinthefutureofprogrammingArnoSchmidmeier,AspectSoftThisbookistoaspectorientedprogrammingwhattheGangofFourbookistodesignpatternsComputingReviewsatwwwreviewscomawonderfuljobofintroducingthenewAOPtrendnootherbooksucceededtopresentthechallengesofAOPsowellJavaRanchcomMorePraisefortheFirstEditionTheauthorsucceedsbrilliantlyingraduallybuildingyourunderstandingofAOP,thenAspectJ’sownsemantics,andthenthecodingpossibilitiestheseoffer…Thewritingisclearandaccessible,thecontentexpertlygraduatedareaderatAmazoncoukoneofthefewtechnicalbooksthathasblownmyhairback…IwalkedawayfeelingasthoughIhadactuallygrownasadeveloperAlexWinstonatAlexWinstoncomByfarthebestprogrammingrelatedbookIhavereadinalongtimeareaderatAmazoncoukaveryclearandcompletetreatmentofaspectsLiketheotherbooksinthe“InAction”seriesfromManning,itisfilledwithverygooddiagramsThisbookwilldefinitelyhelponTheDailyChannelIwouldrecommendgoingwithAspectJinActionyouwillgetthemostbangforyourbuckfromRamnivas’sworkThesubjectorientedapproachinthisbooklendsitselfwelltofuturereuseonjrollercomexactlywhatIneededfantasticuseofdiagrams,figures,andannotatedcodeTheysolidlyaddtounderstandingthecontentIfoundthebooktoreallybeexcellentfromallviewpointsforgettingintothesubjectmatterfrommanyanglesanddivingdownverydeepintoitMaxSpilleatTheServerSidecomThisbookprovidesaverygoodresourcebothforpeoplestartingtolearnAOPandAspectJandforexperiencedAOPprogrammerswhowishtodeepentheirknowledgeinthisnewareaValentinCrettaz,JavaRanchTheonlyresourcethatpresentsAOPconceptsandrealworldexamplesinanapproachable,readablewayJeanBaltus,MetafronInfosysAspectJinActionSecondEditionENTERPRISEAOPWITHSPRINGAPPLICATIONSRAMNIVASLADDADMANNINGGreenwich(wlong)ForonlineinformationandorderingofthisandotherManningbooks,pleasevisitwwwmanningcomThepublisheroffersdiscountsonthisbookwhenorderedinquantityFormoreinformation,pleasecontactSpecialSalesDepartmentManningPublicationsCoSoundViewCourtBfax:()Greenwich,CTemail:ordersmanningcombyManningPublicationsCoAllrightsreservedNopartofthispublicationmaybereproduced,storedinaretrievalsystem,ortransmitted,inanyformorbymeanselectronic,mechanical,photocopying,orotherwise,withoutpriorwrittenpermissionofthepublisherManyofthedesignationsusedbymanufacturersandsellerstodistinguishtheirproductsareclaimedastrademarksWherethosedesignationsappearinthebook,andManningPublicationswasawareofatrademarkclaim,thedesignationshavebeenprintedininitialcapsorallcapsRecognizingtheimportanceofpreservingwhathasbeenwritten,itisManning’spolicytohavethebookswepublishprintedonacidfreepaper,andweexertourbesteffortstothatendRecognizingalsoourresponsibilitytoconservetheresourcesofourplanet,ManningbooksareprintedonpaperthatisatleastrecycledandprocessedwithouttheuseofelementalchlorineDevelopmentEditor:CynthiaKaneManningPublicationsCoCopyeditor:TiffanyTaylorSoundViewCourtBTypesetter:GordanSalinovicGreenwich,CTCoverdesigner:MarijaTudorISBNPrintedintheUnitedStatesofAmerica–MAL–ToAshishInourheartsyouwillalwaysremainbriefcontentsPARTUNDERSTANDINGAOPANDASPECTJDiscoveringAOPIntroducingAspectJUnderstandingthejoinpointmodelModifyingbehaviorwithdynamiccrosscuttingModifyingstructurewithstaticcrosscuttingAspects:puttingitalltogetherDivingintotheAspectJsyntaxAspectJweavingmodelsviiIntegrationwithSpringPARTAPPLICATIONSOFASPECTJWITHSPRINGMonitoringtechniquesPolicyenforcement:keepingyourdesignintactLearningdesignpatternsImplementingconcurrencycontrolManagingtransactionsBRIEFCONTENTSviiiSecuringapplicationsImprovingdomainlogicTakingthenextstepappendixASettinguptheexampleappendixBUsingAntwithAspectJappendixCUsingMavenwithAspectJbriefcontentscontentsforewordxixprefacexxiiiprefacetothefirsteditionxxvacknowledgmentsxxviiaboutthisbookxxixaboutthetitlexxxivaboutthecoverillustrationxxxvarealworldperspectiveofAOPxxxviiPARTUNDERSTANDINGAOPANDASPECTJixDiscoveringAOPLifewithoutAOPCodetanglingCodescatteringModularizingwithAOPAnatomyofanAOPlanguageTheAOPlanguagespecificationTheAOPlanguageimplementationFundamentalconceptsinAOPcontentsCONTENTSxAOPbyanalogyCascadingStyleSheets(CSS)DatabasesystemsEventorientedprogrammingImplementationsofAOPAspectJSpringAOPOtherimplementationsofAOPAlternativestoAOPFrameworksCodegenerationDesignpatternsDynamiclanguagesCostsandbenefitsofAOPCostsofAOPBenefitsofAOPSummaryIntroducingAspectJWritingyourfirstAspectJprogramSettinguptheexampleAddinganaspectAspectJcrosscuttingconstructCommoncrosscuttingconstructsDynamiccrosscuttingconstruct:adviceStaticcrosscuttingconstructsAspectJalternativesyntaxWeavingmechanismsSourceweavingBinaryweavingLoadtimeweavingAspectJweaving:underthehoodThecompiledaspectThewovenclassSpringAspectJintegrationAspectJlogisticsoverviewIDEintegrationAspectJdocumentationtoolSummaryUnderstandingthejoinpointmodelUnderstandingthejoinpointmodelJoinpointsPointcutsCategorizingexposedjoinpointsMethodjoinpointsConstructorjoinpointsFieldaccessjoinpointsExceptionhandlerjoinpointsClassinitializationjoinpointsObjectinitializationjoinpointsObjectpreinitializationjoinpointsAdviceexecutionjoinpointsCONTENTSxiJoinpointdemonstrationexampleTheaspectTheresultUnderstandingpointcutbasicsNamedandanonymouspointcutsPointcutoperatorsSignaturesyntaxTypesignaturepatternsMethodandconstructorsignaturepatternsFieldsignaturepatternsImplementingpointcutsKindedpointcutsNonkindedpointcutsSummaryModifyingbehaviorwithdynamiccrosscuttingAdviceoverviewAdviceclassificationAdvicesyntaxComparingadvicetomethodsSimilaritiesbetweenadviceandmethodsDifferencesbetweenadviceandmethodsAdviceindepthBeforeadviceAfteradviceAroundadviceCollectingjoinpointcontextCollectingobjectsatthejoinpointImplementingsimplecachingAccessingjoinpointcontextviareflectionThereflectionAPIImprovingcachingusingreflectionAPIsComparingthereflectionAPItopointcutsSummaryModifyingstructurewithstaticcrosscuttingIntroducingmembersScatteringandtanglingUntanglingwithaspectsMixingwithmixinsMemberintroductionrulesIdiom:ProvidingadefaultinterfaceimplementationModifyingthetypehierarchyIntroducingmemberstomultipletypesSupplyingannotationsDeclaringweavetimeerrorsandwarningsCONTENTSxiiSofteningcheckedexceptionsSummaryAspects:puttingitalltogetherWorkingwithaspectsSimilaritiesbetweenaspectsandclassesDifferencesbetweenaspectsandclassesAspectassociationDefaultsingletonassociationPerobjectassociationPercontrolflowassociationPertypeassociationImplicitlimitingofjoinpointswithaspectassociationsAccessingaspectinstancesComparingperobjectassociationandmemberintroductionImprovingthecachingaspectAspectprecedenceOrderingofadviceExplicitaspectprecedenceOrderingadviceinasingleaspectPrivilegedaspectsSummaryDivingintotheAspectJsyntaxSyntaxoverviewNaturalmappingJavacompatibilityEarlyerrordetectionMappingaspectsSpecifyingaspectassociationAccessingtheaspectinstanceDeclaringaspectprecedenceMappingpointcutsMappingabstractpointcutsMappingconcretepointcutsMappingdynamiccrosscuttingconstructsThebeforeadviceTheafteradviceThearoundadviceMappingstaticcrosscuttingMappingweavetimedeclarationsMappingdeclareparentsFeaturesnotimplementedinAspectJAssociatingannotationsIntroducingdataandmethodsSofteningexceptionsPrivilegedaspectsCONTENTSxiiiComparingsyntaxstylesSummaryAspectJweavingmodelsClassifyingweavingmodelsBuildtimeweavingBuildtimesourcecodeweavingBuildtimebinaryweavingLoadtimeweavingLoadtimeweavingoverviewConfiguringtheloadtimeweaverLoadtimeweaverinactionChoosingsyntaxandweavingSummaryIntegrationwithSpringSpringAOPfundamentalsSettinguptheapplicationUtilizingtheAspectJsyntaxSpringIDESpringAOPunderthehoodAquickintroductiontodynamicproxiesProxybasedAOPwithSpringSpringAOPinternalsProxybasedAOPinDIframeworkLimitationsofSpringAOPAspectJsupportindepthDynamiccrosscuttingStaticcrosscuttingSchemastyleAOPsupportMappingaspectsMappingpointcutsMappingadviceMappingstaticcrosscuttingTappingintothefullpowerofAspectJConfiguringaspectsusingSpringDISpringdrivenLTWChoosinganappropriateAOPsystemComparingAspectJtoSpringAOPComparingSpringAOPsyntaxIt’sdecisiontimeSummaryCONTENTSxivPARTAPPLICATIONSOFASPECTJWITHSPRINGMonitoringtechniquesTracinginactionTracingtheaspectorientedwayTracingtheconventionalwayConventionalvsAOPtracingSelectingjoinpointsofinterestSelectionbasedonstaticstructureSelectionbasedondynamiccontextTracingIndentingtracecallsSharingtracingaspectfunctionalityTracingintramethodactivitiesLoggingthemethodparametersChoosingatypespecificloggerAdetour:deploymentoptionsformonitoringaspectsUtilizingloadtimeweavingUtilizingSpringAOPfortracingExceptionmonitoringImprovingconventionalloggingModularizingNDCwithconventionalloggingModularizingMDCwithconventionalloggingPerformancemonitoringRuntimecontrolofmonitoringaspectsSummaryPolicyenforcement:keepingyourdesignintactAOPbasedpolicyenforcementoverviewPolicyoriginsanddestinationsEnforcementusingAOPCompiletimeenforcementRuntimeenforcementComparisonwithcodeanalysistoolsImplementingflexibleaccesscontrolRestrictingexposureLimitingcollaborationEnforcingthefactorypatternEnforcementidiom:returnvaluerestrictionEnforcingJPAJDBCintegrationpoliciesCONTENTSxvImplementingEJBpoliciesDevelopingacoreEJBenforcementaspectDefiningEJBpointcutsDealingwithXMLbasedEJBsImplementinga“noEJBs”policyDetectingSwingconcurrencycontrolpolicyviolationsUnderstandingtheproblemDetectingtheviolationSummaryLearningdesignpatternsTheworkerobjectpatternThecurrentsolutionAnoverviewoftheworkerobjectpatternTheworkerobjectpatterntemplateGettingthereturnvalueAsummaryoftheworkerobjectpatternThewormholepatternThecurrentsolutionAnoverviewofthewormholepatternThewormholepatterntemplateAsummaryofthewormholepatternTheparticipantpatternCurrentsolutionsAnoverviewoftheparticipantpatternTheparticipantpatterntemplateConsequencesoftheparticipantpatternAsummaryoftheparticipantpatternAnnotationdrivenparticipantpatternCurrentsolutionTheannotationdrivenparticipantpatterntemplateAnnotationtypeabstractionVariation:bridgedparticipationpatternRoleofADPPinlibraryaspectsSummaryImplementingconcurrencycontrolModularizingSwing’ssinglethreadruleAtestproblemSolution:theconventionalwaySolution:theAspectJwayImprovingthesolutionImprovingtheresponsivenessofUIapplicationsModularizingthereadwritelockpatternImplementation:theconventionalwayImplementation:theAspectJwaySummaryCONTENTSxviManagingtransactionsTransactionmanagementimplementationsConventionalimplementationAOPimplementationTransactionmanagementplayersTransactionmanagementinarchitectureTransactionmanagement:oneconcept,toomanyimplementationsTransactionmanagementabstractionAspectimplementationchoicesProxybasedAOPBytecodeweavingTransactionmanagementaspect(almost)fromscratchImplementingtheaspectTestingtheaspectRoadtestfortheaspectSpring’stransactionmanagementXMLdriventransactionmanagementAnnotationdriventransactionmanagementAspectJweaverbasedtransactionmanagementImplementingfaulttolerancefortransactionaloperationsBaseaspectUsingtheannotationdrivenparticipantpatternConfiguringtheaspectTestingthefaulttoleranceaspectImprovingthesolutionSummarySecuringapplicationsSecuringapplicationswithconventionaltechniquesThedoityourselfapproachTheframeworkbasedapproachModularizingsecurityusingAOPAquickoverviewofSpringSecurityAuthenticationAuthorizationImplementingasecuritysolutionfromscratchImplementingauthenticationaspectsImplementingauthorizationaspectsImplementingfieldlevelauthorizationSpringSecurityprebuiltsolutionsWebsecurityServicelevelsecurityDomainobjectsecurityCONTENTSxviiAdditionalideasinimplementingsecurityAuditingaccessFilteringfieldcontentSummaryImprovingdomainlogicEmpoweringobjectsEnablingrichbehaviorInjectingdependencieswithSpringandAspectJPossibilitiesenabledbydomainobjectDIImplementingbusinesslogicImprovinginventorymanagementCheckingfortheorderlevelconstraintRefactoringusingaspectsManagingaccesstoobjectsApplyingspecificpoliciesApplyinggeneralpoliciesSummaryTakingthenextstepTheadoptionpath:technologiesSpringAOPAspectJTheadoptionpath:applicationsDevelopmentaspectsProductionaspectsApplyingAOPtonewproblemsTalkingthetalkWalkingthewalkEmployingAOPindevelopmentphasesAOPinthedesignphaseAOPintheimplementationphaseAOPinthemaintenancephaseAOPinlegacyprojectsPartingthoughtsappendixASettinguptheexampleappendixBUsingAntwithAspectJappendixCUsingMavenwithAspectJindexforewordThisisatimelybook,aboutapowerfulandwidelyusedtechnologythatcontinuestogrowinimportanceSincethefirsteditionofAspectJinAction,muchhaschangedinAspectJandthebroaderenvironmentThiscomprehensiveupdatesquarelyaddressesthesechangesAmongthechanges,threeissuesstandout:importantnewcapabilitiesofAspectJ,increasinginterestindynamiclanguagesingeneralandontheJVM,andtheemergenceofAspectJasakeypracticaltechnologyinmainstreamenterpriseJavaAspectJhasmaturedgreatlysincethefirsteditionItnowhascomprehensivesupportforJavaannotations,alongwithsupportforotherlanguageimprovementssuchasgenerics,variablelengthargumentlists,andcovariantreturntypesAnnotationsfithandinglovewithAOP,providinganidealwayofaddinginformationaboutprogramstructureandsemanticsforusebyaspectsForexample,oneconciseaspectmightaddxixconsistentadditionalbehaviortoallexecutionsofamethodwithagivenannotationanothermightcauseasetofclassestobeannotatedwithaparticularannotationtodirectanenterpriseframeworktoaddbehavioratruntimeTheselanguageenhancementsnotonlysimplifytheauthoringofmanyaspectstheyalsomakeAspectJanidealmatchformodernenterpriseJavaprogrammingmodels,andtrulyanewlanguageThelastfewyearshasseenasignificantriseininterestindynamiclanguagesmanyofwhich(suchasGroovy)providecapabilitiesformetaprogrammingAlthough

职业精品

精彩专题

上传我的资料

热门资料

资料评价:

/ 567
所需积分:1 立即下载

意见
反馈

返回
顶部

Q