Explain the concepts and capabilities of Aspect-Oriented Programming, AOP.- Aspect-Oriented Programming (AOP) complements OO programming. - It allows the developer to dynamically modify the static OO model to create a system that can grow to meet new requirements. - An application can adopt new characteristics as it develops just as objects in the real world can change their states during their lifecycles.
Terminology - Cross-cutting concerns: Although most classes in an OO model will perform a single, specific function, they share secondary requirements with other classes. Although the primary functionality of each class is very different, the code needed to perform the secondary functionality is often identical. - Advice: This is the additional code that you want to apply to your existing model. - Point-cut: This is the term given to the point of execution in the application at which cross-cutting concern needs to be applied. - Aspect: The combination of the point-cut and the advice is termed an aspect.Explain the concepts and capabilities of Aspect-Oriented Programming, AOP.AOP concepts: - Aspect: A cross cutting modularization across multiple objects. Aspects are implemented by using regular classes. - Join point: A point while executing a program, such as running an exception or a program. In certain frameworks , a method is always treated as a join point. - Advice: Advice is an action that is taken by an aspect at a certain joint point. “around”,”before”,”after” are different types of advice. - Pointcut: A condition / predicate that matches join points. An advice is associated with a point cut expression. It is run at any joint point matched by the point cut. - Target object: An object that is advised by one or more aspects. - AOP proxy: To implement the aspect contracts or advice methods, AOP proxy object is created. - Weaving: Applications or objects are linked by aspects by weaving process, for creation of an advised object. This process can be performed at runtime.
|