SlideShare a Scribd company logo
Aspect Oriented Programming Anumod Kumar S CS-7 7211 Presented by:
Introduction Currently, the dominant programming paradigm is object-oriented programming that: Object orientation is a clever idea, but has certain limitations has been presented as a technology that can fundamentally aid software engineering is reflected in the entire spectrum of current software development methodologies and tools Aspect Oriented Programming 1 1
Aspect Oriented Programming What is it? Programming methodology that modularizes code into processes. What does it do? Aids programmers in the separation of concerns/processes, specifically cross-cutting concerns, as an advance in modularization.   Aspect Oriented Programming 2
Object Oriented Programming What is it? Programming methodology that modularizes code into objects. What does it do? Aids programmers in separation of code into real world objects. Aspect Oriented Programming 3
Object Oriented Programming Components of OOP Class Component that modularizes code in OOP. Function Contained inside a class. Performs a process. Manipulates objects, attributes, etc. Aspect Oriented Programming 4
Object Oriented Programming Advantages of OOP. Modularizes code into real world objects. Easy to understand code. Code is reusable if modularized correctly. Code is easily maintained due to fix once, use everywhere principle. Many development methodologies lend themselves to OOP. Aspect Oriented Programming 5
Object Oriented Programming Disadvantages of OOP. Does not address cross-cutting concerns. Processes/Functionality cross into many code modules. Creates duplicate code if not addressed. Unaddressed cross-cutting concerns may be hard to maintain. Aspect Oriented Programming 6
Object Oriented Programming Similarities between AOP and OOP. Take advantage of code modularization. Code Reusability Code Maintainability Differences between AOP and OOP. OOP modularizes on basis of real world objects. AOP modularizes on basis of Processes/Functionalities. Aspect Oriented Programming 7
Need for AOP Problems with traditional Object Oriented Programming approach. OOP divides processes into classes, or objects. These classes often cross over into many different processes. Leads to duplicated code. Hard to maintain code. Hard to use code. Aspect Oriented Programming 8
Traditional OOP Approach Oranges Storage Sell Buy Bananas Storage Sell Buy Apples Storage Sell Buy Fruit Shape Color Size Crosscutting Concerns Aspect Oriented Programming 9
Need for AOP Aspect Oriented Programming approach addresses cross cutting concerns. Better separates processes (concerns) than previous approaches. Creates cleaner code Code is reusable at a greater extent than OOP Properly separates business requirements into clean reusable code/ Aspect Oriented Programming 10
Advantage of AOP Currently with OOP, implementation is forced on developer Developer must implement requirements ahead of time. Often time, developer is not clear on requirements up front. Problem solved by AOP. Implementation can be held off until clear. Bad implementation is eliminated due to unclear requirements. Aspect Oriented Programming 11
Aspects In AOP crosscutting concerns are implemented in aspects instead of fusing them into core modules. Aspects are an additional unit of modularity. Aspects can be reused. By reducing code tangling it makes it easier to understand what the core functionality of a module is. An “aspect weaver” takes the aspects and the core modules and composes the final system. Aspect Oriented Programming 12
AOP Key Idea base/core program aspect weave final system Aspect Oriented Programming 13
Aspect weaving Composition mechanism that coordinates aspects with the other modules of the system . Performed by a specialized compiler called Weaver. Aspect Oriented Programming 14
Before AOP Timecard Transaction Security Scheduling Transaction Security Financial Transaction Security Crosscutting Concerns After AOP Timecard Scheduling Financial Transaction Security Aspect Oriented Programming 15
Conclusion Important to remember that AOP is not replacing OOP, but enhancing it. Can utilize OOP and AOP at same time. AOP approach involves not only technical changes, but methodology changes. Process oriented instead of Object oriented. Aspect Oriented Programming 16
References: Wikipedia the free Encyclopedia http://www.wikipedia.com Aspect-Oriented Programming, Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, John Irwin Aspect-Oriented Programming with Model Checking, Naoyasu Ubayashi, Systems Integration Technology Center, Toshiba Corporation, Tokyo, Japan An Initial Assessment of Aspect-oriented Programming,Robert J.Walker, Elisa L.A. Baniassad and Gail C. Murphy, Dept. of Computer Science, University of British Columbia, 201-2366 Main Mall, Vancouver, BC V6T 1Z4 Canada Aspect Oriented Programming 17
QUESTIONS Aspect Oriented Programming 18
THANK YOU!!!

More Related Content

PPTX
Aspect Oriented Programming
PPTX
Aspect Oriented Programming
PPTX
Android activity lifecycle
PPTX
Software Engineering
PPT
Introduction to oop
PPT
android activity
PPTX
Advance Java Programming(CM5I) Event handling
PDF
JavaScript - Chapter 13 - Browser Object Model(BOM)
Aspect Oriented Programming
Aspect Oriented Programming
Android activity lifecycle
Software Engineering
Introduction to oop
android activity
Advance Java Programming(CM5I) Event handling
JavaScript - Chapter 13 - Browser Object Model(BOM)

What's hot (20)

PPT
Basic of Multithreading in JAva
PPT
Adapter pattern
PPTX
PPTX
Array ADT(Abstract Data Type)|Data Structure
PPTX
graphics programming in java
PPT
Data Flow Diagram
PPT
Selection of an appropriate project approach
PPT
UML Diagrams
DOCX
Ooad notes
PDF
파이썬 생존 안내서 (자막)
PPTX
Component based development | what, why and how
PDF
Visual Basic IDE Introduction
PPTX
04 activities and activity life cycle
PPTX
Software project management- Software Engineering
PPTX
Basics of JAVA programming
PPTX
Software architectural patterns - A Quick Understanding Guide
PPT
Software Process Models
PDF
PDF
Queue as data_structure
PPTX
Software myths | Software Engineering Notes
Basic of Multithreading in JAva
Adapter pattern
Array ADT(Abstract Data Type)|Data Structure
graphics programming in java
Data Flow Diagram
Selection of an appropriate project approach
UML Diagrams
Ooad notes
파이썬 생존 안내서 (자막)
Component based development | what, why and how
Visual Basic IDE Introduction
04 activities and activity life cycle
Software project management- Software Engineering
Basics of JAVA programming
Software architectural patterns - A Quick Understanding Guide
Software Process Models
Queue as data_structure
Software myths | Software Engineering Notes
Ad

Similar to Aspect Oriented Programming (20)

PPTX
Comparison of OOP with Procedural and Functional Programming
PDF
Code Craftsmanship Checklist
PPTX
object oriented programming concepts using c++ .pptx
PPTX
Object Oriented Programming.pptx shiva
PPTX
Lecture No.1.pptx
PDF
Introduction to Object Oriented Programming.pdf
PPTX
Software development philosophies v1
PDF
Optimizing Development_ Leveraging OOP Principles and Paired Programming for ...
PPTX
282600430-Specialized-Process-Models.pptx
PDF
PDF
OOPs-Interview-Questions.pdf
PPTX
Performance analysis of synchronisation problem
PDF
Top Object-Oriented Programming Languages To Follow In December 2022.pdf
PPTX
PCCF UNIT 2 CLASS.pptx
PPTX
PCCF UNIT 2.pptx
PDF
Diving into OOPs_ Key Concepts and Principles (1).pdf
PDF
MVC 3.0 KU Day 1 v 1.1
PPTX
OOPM - Introduction.pptx
PPTX
Object Oriented programming - Introduction
PPTX
Object Oriented Programming Part 2 of Unit 1
Comparison of OOP with Procedural and Functional Programming
Code Craftsmanship Checklist
object oriented programming concepts using c++ .pptx
Object Oriented Programming.pptx shiva
Lecture No.1.pptx
Introduction to Object Oriented Programming.pdf
Software development philosophies v1
Optimizing Development_ Leveraging OOP Principles and Paired Programming for ...
282600430-Specialized-Process-Models.pptx
OOPs-Interview-Questions.pdf
Performance analysis of synchronisation problem
Top Object-Oriented Programming Languages To Follow In December 2022.pdf
PCCF UNIT 2 CLASS.pptx
PCCF UNIT 2.pptx
Diving into OOPs_ Key Concepts and Principles (1).pdf
MVC 3.0 KU Day 1 v 1.1
OOPM - Introduction.pptx
Object Oriented programming - Introduction
Object Oriented Programming Part 2 of Unit 1
Ad

Recently uploaded (20)

PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
Pharma ospi slides which help in ospi learning
PPTX
Institutional Correction lecture only . . .
PDF
01-Introduction-to-Information-Management.pdf
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Complications of Minimal Access Surgery at WLH
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PPTX
Cell Types and Its function , kingdom of life
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Microbial diseases, their pathogenesis and prophylaxis
TR - Agricultural Crops Production NC III.pdf
Pharma ospi slides which help in ospi learning
Institutional Correction lecture only . . .
01-Introduction-to-Information-Management.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
Renaissance Architecture: A Journey from Faith to Humanism
human mycosis Human fungal infections are called human mycosis..pptx
STATICS OF THE RIGID BODIES Hibbelers.pdf
Complications of Minimal Access Surgery at WLH
FourierSeries-QuestionsWithAnswers(Part-A).pdf
102 student loan defaulters named and shamed – Is someone you know on the list?
2.FourierTransform-ShortQuestionswithAnswers.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Week 4 Term 3 Study Techniques revisited.pptx
Cell Types and Its function , kingdom of life
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester

Aspect Oriented Programming

  • 1. Aspect Oriented Programming Anumod Kumar S CS-7 7211 Presented by:
  • 2. Introduction Currently, the dominant programming paradigm is object-oriented programming that: Object orientation is a clever idea, but has certain limitations has been presented as a technology that can fundamentally aid software engineering is reflected in the entire spectrum of current software development methodologies and tools Aspect Oriented Programming 1 1
  • 3. Aspect Oriented Programming What is it? Programming methodology that modularizes code into processes. What does it do? Aids programmers in the separation of concerns/processes, specifically cross-cutting concerns, as an advance in modularization. Aspect Oriented Programming 2
  • 4. Object Oriented Programming What is it? Programming methodology that modularizes code into objects. What does it do? Aids programmers in separation of code into real world objects. Aspect Oriented Programming 3
  • 5. Object Oriented Programming Components of OOP Class Component that modularizes code in OOP. Function Contained inside a class. Performs a process. Manipulates objects, attributes, etc. Aspect Oriented Programming 4
  • 6. Object Oriented Programming Advantages of OOP. Modularizes code into real world objects. Easy to understand code. Code is reusable if modularized correctly. Code is easily maintained due to fix once, use everywhere principle. Many development methodologies lend themselves to OOP. Aspect Oriented Programming 5
  • 7. Object Oriented Programming Disadvantages of OOP. Does not address cross-cutting concerns. Processes/Functionality cross into many code modules. Creates duplicate code if not addressed. Unaddressed cross-cutting concerns may be hard to maintain. Aspect Oriented Programming 6
  • 8. Object Oriented Programming Similarities between AOP and OOP. Take advantage of code modularization. Code Reusability Code Maintainability Differences between AOP and OOP. OOP modularizes on basis of real world objects. AOP modularizes on basis of Processes/Functionalities. Aspect Oriented Programming 7
  • 9. Need for AOP Problems with traditional Object Oriented Programming approach. OOP divides processes into classes, or objects. These classes often cross over into many different processes. Leads to duplicated code. Hard to maintain code. Hard to use code. Aspect Oriented Programming 8
  • 10. Traditional OOP Approach Oranges Storage Sell Buy Bananas Storage Sell Buy Apples Storage Sell Buy Fruit Shape Color Size Crosscutting Concerns Aspect Oriented Programming 9
  • 11. Need for AOP Aspect Oriented Programming approach addresses cross cutting concerns. Better separates processes (concerns) than previous approaches. Creates cleaner code Code is reusable at a greater extent than OOP Properly separates business requirements into clean reusable code/ Aspect Oriented Programming 10
  • 12. Advantage of AOP Currently with OOP, implementation is forced on developer Developer must implement requirements ahead of time. Often time, developer is not clear on requirements up front. Problem solved by AOP. Implementation can be held off until clear. Bad implementation is eliminated due to unclear requirements. Aspect Oriented Programming 11
  • 13. Aspects In AOP crosscutting concerns are implemented in aspects instead of fusing them into core modules. Aspects are an additional unit of modularity. Aspects can be reused. By reducing code tangling it makes it easier to understand what the core functionality of a module is. An “aspect weaver” takes the aspects and the core modules and composes the final system. Aspect Oriented Programming 12
  • 14. AOP Key Idea base/core program aspect weave final system Aspect Oriented Programming 13
  • 15. Aspect weaving Composition mechanism that coordinates aspects with the other modules of the system . Performed by a specialized compiler called Weaver. Aspect Oriented Programming 14
  • 16. Before AOP Timecard Transaction Security Scheduling Transaction Security Financial Transaction Security Crosscutting Concerns After AOP Timecard Scheduling Financial Transaction Security Aspect Oriented Programming 15
  • 17. Conclusion Important to remember that AOP is not replacing OOP, but enhancing it. Can utilize OOP and AOP at same time. AOP approach involves not only technical changes, but methodology changes. Process oriented instead of Object oriented. Aspect Oriented Programming 16
  • 18. References: Wikipedia the free Encyclopedia http://www.wikipedia.com Aspect-Oriented Programming, Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, John Irwin Aspect-Oriented Programming with Model Checking, Naoyasu Ubayashi, Systems Integration Technology Center, Toshiba Corporation, Tokyo, Japan An Initial Assessment of Aspect-oriented Programming,Robert J.Walker, Elisa L.A. Baniassad and Gail C. Murphy, Dept. of Computer Science, University of British Columbia, 201-2366 Main Mall, Vancouver, BC V6T 1Z4 Canada Aspect Oriented Programming 17
  • 19. QUESTIONS Aspect Oriented Programming 18