Aspect Oriented Programming (AOP)
This course provides a strong understanding of Aspect
Oriented Programming (AOP). It is a hands-on
course that provides a detailed introduction to Aspect oriented
programming and Aspect Oriented Software Design (AOSD). Attendees will get a good
overview and understanding of topics and concepts including:
§
What is AOP?
§
What are Aspects and Cross-cutting concerns?
§
Why AOP?
§
AOP and its relationship to OO and Component
technologies
§
Tools available for programming Aspects
§
Adopting Aspects in the
Enterprise – Aspect Oriented Software
Development (AOSD)
§
Static Aspects (and AspectJ)
§
Dynamic Aspects
§
Spring AOP
§
JBoss AOP
Each section introduces and explains a concept or
technology, followed, as relevant and necessary, by a coding section to help the
attendee understand the concept.
Attendees may then be given an opportunity to run lab exercises that
reinforce the concepts and coding that they have just learned.
Lab exercises will reinforce concepts learnt in class.
Roughly a fourth of the class is will involve labs and lab related tasks
Target Audience:
§
Developers who
wish to understand and consider incorporating Aspects and AOP into their
project
§
Technical
Architects who are planning on using AOP for enterprise solutions
Prerequisites:
Required
§
Basic knowledge of OO
programming and at least one OO programming language (such as Java or c++)
Recommended
§
Strong understanding of
Object-Oriented (OO) concepts and OO programming
§
Distributed computing concepts
and architectures, such as Client-Server or 3/n-tier.
§
Experience developing
server-side applications using any technology/language
Course Objectives:
At the end of this course,
attendees will be able to make decisions regarding when it is appropriate and
when it is not appropriate to leverage Aspects and Aspect Oriented Programming.
In addition, by the end of
this course, attendees will have a very good conceptual understanding of:
* What Aspect Oriented
Programming is all about
* The relationship between
AOP and OO and Component technologies
* Choice of Tools
available to leverage AOP
* Aspect Oriented Software
Development
* Leveraging AOP to
implement cross-cutting functionality into any application
* Understanding Static and
Dynamic Aspects (including AspectJ, Spring & JBoss AOP)
Course Duration:
§
This course
will span three days.