In this seminar, we will cover the following:?The basic set of object oriented patterns upon which Aspect Oriented Programming (AOP) is founded?; Thinking about aspects without being tied up with AOP terminology as a transitioning technique to moving to AOP; ?Examples of real world domain problems where aspects were used to solve the problems?. From these examples, patterns are extracted which can be used as targets for AOP solutions?. If code examples are needed, Java and the Spring Framework will be used, but the patterns and material covered will be applicable in other languages and frameworks.