Presentation is loading. Please wait.

Presentation is loading. Please wait.

AOP issues. Class/Aspect Table Loose Coupling Classes/Aspects When we evolve a class, how many aspects do we have to change? When we evolve an aspect,

Similar presentations


Presentation on theme: "AOP issues. Class/Aspect Table Loose Coupling Classes/Aspects When we evolve a class, how many aspects do we have to change? When we evolve an aspect,"— Presentation transcript:

1 AOP issues

2 Class/Aspect Table

3 Loose Coupling Classes/Aspects When we evolve a class, how many aspects do we have to change? When we evolve an aspect, how many classes are affected? Ideally none. Classes oblivious of aspects.

4 Techniques for loose coupling of aspects/classes AP: structure-shy programming AC: put crosscutting into adapters Doug: BOP: each method encapsulates the condition when it is applicable. More kinds of cond. lead to better separation of concerns parameterize: decouple aspects from classes

5 variables in pointcut designators more efficient: can generate faster code pointcuts separated from advice. Abstract pointcuts. –x from first arg, x from second arg. Extra layer of abstraction –virtual class = type defined by predicate. Exported variables become virtual fields

6 other reasons for differential programming than evolution behavior variation –kind specific: oo –context-dependent state dependent: predicate over arguments perspective dependent: person takes different roles; overlapping predicates; predicate dispatch; multi-way association application dependent:depends on calling context; jumping aspect; only trace from caller x. Generic usage pattern; open implementation example: too many windows. previous decision point environment dependent:network bandwidth changes dynamically; network- aware application; QuO; access to global system functions inside predicates. Variation of state.

7 Service Business does doug have introductions? enabler bundles: Party, Address, Addressing, ProductOffering, BusinessInstance consolidation bundle: assigns values to fields of ProductOffering objects, BusinessInstance

8 Service Business delivery bundle

9 Design: Service Business enabler bundles: –PartyB: Party and LabeledPartyGraph –AddressB: Address, Addressing –ProductB: ProductOffering –EventB: EnablerEvent –EligibilityB: consolidation bundle: –AgreementB: Agreement delivery bundles:

10 Design: Service Business delivery bundles: –EventB: DeliveryEvent, EventTracking –AccountB: FeeComp, InterestComp, Position –AvailabilityB: Availability –RiskB: uses Availability


Download ppt "AOP issues. Class/Aspect Table Loose Coupling Classes/Aspects When we evolve a class, how many aspects do we have to change? When we evolve an aspect,"

Similar presentations


Ads by Google