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

What's hot (20)

PPTX
INTRODUCTION TO JSP,JSP LIFE CYCLE, ANATOMY OF JSP PAGE AND JSP PROCESSING
Aaqib Hussain
 
PPT
12 multi-threading
APU
 
PPTX
Activities, Fragments, and Events
Henry Osborne
 
PPT
Ontology engineering
Aliabbas Petiwala
 
PDF
Android contentprovider
Krazy Koder
 
PPTX
Android activity lifecycle
Soham Patel
 
PDF
Android intents
Siva Ramakrishna kv
 
PPTX
Java Server Pages(jsp)
Manisha Keim
 
PPT
Java Persistence API (JPA) Step By Step
Guo Albert
 
PPT
Java collections concept
kumar gaurav
 
PPTX
Notification android
ksheerod shri toshniwal
 
PPTX
ReactJS presentation.pptx
DivyanshGupta922023
 
PPTX
UNIT-3 Servlet
ssbd6985
 
PPTX
Distributed concurrency control
Binte fatima
 
PPTX
Java Server Pages
Kasun Madusanke
 
PPT
Hibernate
Ajay K
 
PPTX
Packages in java
Elizabeth alexander
 
PDF
Android notification
Krazy Koder
 
INTRODUCTION TO JSP,JSP LIFE CYCLE, ANATOMY OF JSP PAGE AND JSP PROCESSING
Aaqib Hussain
 
12 multi-threading
APU
 
Activities, Fragments, and Events
Henry Osborne
 
Ontology engineering
Aliabbas Petiwala
 
Android contentprovider
Krazy Koder
 
Android activity lifecycle
Soham Patel
 
Android intents
Siva Ramakrishna kv
 
Java Server Pages(jsp)
Manisha Keim
 
Java Persistence API (JPA) Step By Step
Guo Albert
 
Java collections concept
kumar gaurav
 
Notification android
ksheerod shri toshniwal
 
ReactJS presentation.pptx
DivyanshGupta922023
 
UNIT-3 Servlet
ssbd6985
 
Distributed concurrency control
Binte fatima
 
Java Server Pages
Kasun Madusanke
 
Hibernate
Ajay K
 
Packages in java
Elizabeth alexander
 
Android notification
Krazy Koder
 

Similar to Aspect Oriented Programming (20)

PPT
Aspect Oriented Software Development
Jignesh Patel
 
PPTX
Aspect-oriented programming
MohamadHayeri1
 
PPTX
Aspect Oriented Programming
Rodger Oates
 
PPTX
Introduction to Aspect Oriented Programming (DDD South West 4.0)
Yan Cui
 
PDF
Aspect oriented software development
Maryam Malekzad
 
PPT
16613874-Object-Oriented-Programming-Presentation.ppt
vsdfg
 
PPTX
Performance analysis of synchronisation problem
harshit200793
 
PPT
ASPECT ORIENTED PROGRAMING(aop)
kvsrteja
 
PPTX
Spring AOP in Nutshell
Onkar Deshpande
 
PPTX
Aspect Oriented Programing - Introduction
Venkaiah Chowdary Koneru
 
PPTX
Introduction To Aspect Oriented Programming
saeed shargi ghazani
 
PPT
Aop2007
Tuhin_Das
 
PPTX
Lecture 1 oop
Tony Apreku
 
PDF
Solving cross cutting concerns in PHP - PHPSerbia-2017
Alexander Lisachenko
 
PDF
Handout on Object orienetd Analysis and Design
SAFAD ISMAIL
 
PDF
Aspect Oriented Development
tyrantbrian
 
PPTX
Lecture 1
talha ijaz
 
PPTX
Spring AOP
Radhakrishna Mutthoju
 
PDF
Spring aop
Hamid Ghorbani
 
PPTX
Introduction
Preeti Mishra
 
Aspect Oriented Software Development
Jignesh Patel
 
Aspect-oriented programming
MohamadHayeri1
 
Aspect Oriented Programming
Rodger Oates
 
Introduction to Aspect Oriented Programming (DDD South West 4.0)
Yan Cui
 
Aspect oriented software development
Maryam Malekzad
 
16613874-Object-Oriented-Programming-Presentation.ppt
vsdfg
 
Performance analysis of synchronisation problem
harshit200793
 
ASPECT ORIENTED PROGRAMING(aop)
kvsrteja
 
Spring AOP in Nutshell
Onkar Deshpande
 
Aspect Oriented Programing - Introduction
Venkaiah Chowdary Koneru
 
Introduction To Aspect Oriented Programming
saeed shargi ghazani
 
Aop2007
Tuhin_Das
 
Lecture 1 oop
Tony Apreku
 
Solving cross cutting concerns in PHP - PHPSerbia-2017
Alexander Lisachenko
 
Handout on Object orienetd Analysis and Design
SAFAD ISMAIL
 
Aspect Oriented Development
tyrantbrian
 
Lecture 1
talha ijaz
 
Spring aop
Hamid Ghorbani
 
Introduction
Preeti Mishra
 
Ad

Recently uploaded (20)

PDF
Supply Chain Security A Comprehensive Approach 1st Edition Arthur G. Arway
rxgnika452
 
PPTX
Comparing Translational and Rotational Motion.pptx
AngeliqueTolentinoDe
 
PPTX
Photo chemistry Power Point Presentation
mprpgcwa2024
 
PDF
Rapid Mathematics Assessment Score sheet for all Grade levels
DessaCletSantos
 
PDF
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
KaryanaTantri21
 
PPTX
Project 4 PART 1 AI Assistant Vocational Education
barmanjit380
 
PDF
Free eBook ~100 Common English Proverbs (ebook) pdf.pdf
OH TEIK BIN
 
PPTX
Urban Hierarchy and Service Provisions.pptx
Islamic University of Bangladesh
 
PPTX
2025 Completing the Pre-SET Plan Form.pptx
mansk2
 
PDF
Nanotechnology and Functional Foods Effective Delivery of Bioactive Ingredien...
rmswlwcxai8321
 
PPTX
Tanja Vujicic - PISA for Schools contact Info
EduSkills OECD
 
PPTX
How to use grouped() method in Odoo 18 - Odoo Slides
Celine George
 
PDF
Gladiolous Cultivation practices by AKL.pdf
kushallamichhame
 
PPTX
A Case of Identity A Sociological Approach Fix.pptx
Ismail868386
 
PDF
The Power of Compound Interest (Stanford Initiative for Financial Decision-Ma...
Stanford IFDM
 
PDF
Learning Styles Inventory for Senior High School Students
Thelma Villaflores
 
PPT
M&A5 Q1 1 differentiate evolving early Philippine conventional and contempora...
ErlizaRosete
 
PDF
Lesson 1 : Science and the Art of Geography Ecosystem
marvinnbustamante1
 
PDF
CAD25 Gbadago and Fafa Presentation Revised-Aston Business School, UK.pdf
Kweku Zurek
 
DOCX
DLL english grade five goof for one week
FlordelynGonzales1
 
Supply Chain Security A Comprehensive Approach 1st Edition Arthur G. Arway
rxgnika452
 
Comparing Translational and Rotational Motion.pptx
AngeliqueTolentinoDe
 
Photo chemistry Power Point Presentation
mprpgcwa2024
 
Rapid Mathematics Assessment Score sheet for all Grade levels
DessaCletSantos
 
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
KaryanaTantri21
 
Project 4 PART 1 AI Assistant Vocational Education
barmanjit380
 
Free eBook ~100 Common English Proverbs (ebook) pdf.pdf
OH TEIK BIN
 
Urban Hierarchy and Service Provisions.pptx
Islamic University of Bangladesh
 
2025 Completing the Pre-SET Plan Form.pptx
mansk2
 
Nanotechnology and Functional Foods Effective Delivery of Bioactive Ingredien...
rmswlwcxai8321
 
Tanja Vujicic - PISA for Schools contact Info
EduSkills OECD
 
How to use grouped() method in Odoo 18 - Odoo Slides
Celine George
 
Gladiolous Cultivation practices by AKL.pdf
kushallamichhame
 
A Case of Identity A Sociological Approach Fix.pptx
Ismail868386
 
The Power of Compound Interest (Stanford Initiative for Financial Decision-Ma...
Stanford IFDM
 
Learning Styles Inventory for Senior High School Students
Thelma Villaflores
 
M&A5 Q1 1 differentiate evolving early Philippine conventional and contempora...
ErlizaRosete
 
Lesson 1 : Science and the Art of Geography Ecosystem
marvinnbustamante1
 
CAD25 Gbadago and Fafa Presentation Revised-Aston Business School, UK.pdf
Kweku Zurek
 
DLL english grade five goof for one week
FlordelynGonzales1
 
Ad

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