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
Rajesh Ganesan
 
PPTX
Aspect Oriented Programming
Shreya Chatterjee
 
ODP
Partitioning
Reema Gajjar
 
PPT
Aspect Oriented Software Development
Jignesh Patel
 
PPTX
Debugging Approaches.pptx
ubaidullah75790
 
PPT
Spring AOP
AnushaNaidu
 
PPTX
Unified process model
RyndaMaala
 
Aspect Oriented Programming
Rajesh Ganesan
 
Aspect Oriented Programming
Shreya Chatterjee
 
Partitioning
Reema Gajjar
 
Aspect Oriented Software Development
Jignesh Patel
 
Debugging Approaches.pptx
ubaidullah75790
 
Spring AOP
AnushaNaidu
 
Unified process model
RyndaMaala
 

What's hot (20)

PDF
CS9222 ADVANCED OPERATING SYSTEMS
Kathirvel Ayyaswamy
 
PPT
Sq lite database
AYESHA JAVED
 
PPTX
introduction to NOSQL Database
nehabsairam
 
PPTX
Domain model Refinement
Anjan Kumar
 
PDF
Hadoop Distributed file system.pdf
vishal choudhary
 
PPTX
Software project management introduction
Kanchana Devi
 
PDF
CS9222 ADVANCED OPERATING SYSTEMS
Kathirvel Ayyaswamy
 
PPTX
Distributed operating system
udaya khanal
 
PPT
Data Storage In Android
Aakash Ugale
 
PPTX
software project management Waterfall model
REHMAT ULLAH
 
PDF
Agreement Protocols, distributed File Systems, Distributed Shared Memory
SHIKHA GAUTAM
 
PDF
CORBA - Introduction and Details
dgsdg2websd
 
PPTX
Dvm
Shivam Sharma
 
PDF
React Native - Getting Started
Tracy Lee
 
PDF
Unit 5- Cloud Applications.pdf
MaryJacob24
 
PDF
Aspect Oriented Development
tyrantbrian
 
PPTX
Multithreading and concurrency in android
Rakesh Jha
 
PDF
Spring aop
Hamid Ghorbani
 
PDF
Presentation On NoSQL Databases
Abiral Gautam
 
PPTX
Single Responsibility Principle
Eyal Golan
 
CS9222 ADVANCED OPERATING SYSTEMS
Kathirvel Ayyaswamy
 
Sq lite database
AYESHA JAVED
 
introduction to NOSQL Database
nehabsairam
 
Domain model Refinement
Anjan Kumar
 
Hadoop Distributed file system.pdf
vishal choudhary
 
Software project management introduction
Kanchana Devi
 
CS9222 ADVANCED OPERATING SYSTEMS
Kathirvel Ayyaswamy
 
Distributed operating system
udaya khanal
 
Data Storage In Android
Aakash Ugale
 
software project management Waterfall model
REHMAT ULLAH
 
Agreement Protocols, distributed File Systems, Distributed Shared Memory
SHIKHA GAUTAM
 
CORBA - Introduction and Details
dgsdg2websd
 
React Native - Getting Started
Tracy Lee
 
Unit 5- Cloud Applications.pdf
MaryJacob24
 
Aspect Oriented Development
tyrantbrian
 
Multithreading and concurrency in android
Rakesh Jha
 
Spring aop
Hamid Ghorbani
 
Presentation On NoSQL Databases
Abiral Gautam
 
Single Responsibility Principle
Eyal Golan
 
Ad

Similar to Aspect Oriented Programming (20)

PPTX
Comparison of OOP with Procedural and Functional Programming
infoguestbloging
 
PDF
Code Craftsmanship Checklist
Ryan Polk
 
PPTX
object oriented programming concepts using c++ .pptx
Neerajj4
 
PPTX
Object Oriented Programming.pptx shiva
ry8424250
 
PPTX
Lecture No.1.pptx
anzazubair91
 
PDF
Introduction to Object Oriented Programming.pdf
ManishBej3
 
PPTX
Software development philosophies v1
Praveen Nair
 
PDF
Optimizing Development_ Leveraging OOP Principles and Paired Programming for ...
Stackify
 
PPTX
282600430-Specialized-Process-Models.pptx
Coderkids
 
PDF
Oop's
JatinSaini84
 
PDF
OOPs-Interview-Questions.pdf
Samir P.
 
PPTX
Performance analysis of synchronisation problem
harshit200793
 
PDF
Top Object-Oriented Programming Languages To Follow In December 2022.pdf
JamesEddie2
 
PPTX
PCCF UNIT 2 CLASS.pptx
vishnupriyapm4
 
PPTX
PCCF UNIT 2.pptx
DivyaKS12
 
PDF
Diving into OOPs_ Key Concepts and Principles (1).pdf
kaushiklalit117
 
PDF
MVC 3.0 KU Day 1 v 1.1
Lek Pongpatimet
 
PPTX
OOPM - Introduction.pptx
amitabhaslideshare
 
PPTX
Object Oriented programming - Introduction
Madishetty Prathibha
 
PPTX
Object Oriented Programming Part 2 of Unit 1
VigneshkumarPonnusam1
 
Comparison of OOP with Procedural and Functional Programming
infoguestbloging
 
Code Craftsmanship Checklist
Ryan Polk
 
object oriented programming concepts using c++ .pptx
Neerajj4
 
Object Oriented Programming.pptx shiva
ry8424250
 
Lecture No.1.pptx
anzazubair91
 
Introduction to Object Oriented Programming.pdf
ManishBej3
 
Software development philosophies v1
Praveen Nair
 
Optimizing Development_ Leveraging OOP Principles and Paired Programming for ...
Stackify
 
282600430-Specialized-Process-Models.pptx
Coderkids
 
OOPs-Interview-Questions.pdf
Samir P.
 
Performance analysis of synchronisation problem
harshit200793
 
Top Object-Oriented Programming Languages To Follow In December 2022.pdf
JamesEddie2
 
PCCF UNIT 2 CLASS.pptx
vishnupriyapm4
 
PCCF UNIT 2.pptx
DivyaKS12
 
Diving into OOPs_ Key Concepts and Principles (1).pdf
kaushiklalit117
 
MVC 3.0 KU Day 1 v 1.1
Lek Pongpatimet
 
OOPM - Introduction.pptx
amitabhaslideshare
 
Object Oriented programming - Introduction
Madishetty Prathibha
 
Object Oriented Programming Part 2 of Unit 1
VigneshkumarPonnusam1
 
Ad

Recently uploaded (20)

PDF
The Picture of Dorian Gray summary and depiction
opaliyahemel
 
PDF
2.Reshaping-Indias-Political-Map.ppt/pdf/8th class social science Exploring S...
Sandeep Swamy
 
PPTX
Strengthening open access through collaboration: building connections with OP...
Jisc
 
PPTX
Skill Development Program For Physiotherapy Students by SRY.pptx
Prof.Dr.Y.SHANTHOSHRAJA MPT Orthopedic., MSc Microbiology
 
PPTX
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
PPTX
Nursing Management of Patients with Disorders of Ear, Nose, and Throat (ENT) ...
RAKESH SAJJAN
 
PDF
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
Mithil Fal Desai
 
PPTX
An introduction to Dialogue writing.pptx
drsiddhantnagine
 
PDF
3.The-Rise-of-the-Marathas.pdfppt/pdf/8th class social science Exploring Soci...
Sandeep Swamy
 
PPTX
Introduction and Scope of Bichemistry.pptx
shantiyogi
 
PPTX
TEF & EA Bsc Nursing 5th sem.....BBBpptx
AneetaSharma15
 
PPTX
Software Engineering BSC DS UNIT 1 .pptx
Dr. Pallawi Bulakh
 
PPTX
Open Quiz Monsoon Mind Game Prelims.pptx
Sourav Kr Podder
 
DOCX
UPPER GASTRO INTESTINAL DISORDER.docx
BANDITA PATRA
 
PPTX
PPTs-The Rise of Empiresghhhhhhhh (1).pptx
academysrusti114
 
PPTX
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
 
PDF
PG-BPSDMP 2 TAHUN 2025PG-BPSDMP 2 TAHUN 2025.pdf
AshifaRamadhani
 
PDF
Introducing Procurement and Supply L2M1.pdf
labyankof
 
PDF
1.Natural-Resources-and-Their-Use.ppt pdf /8th class social science Exploring...
Sandeep Swamy
 
The Picture of Dorian Gray summary and depiction
opaliyahemel
 
2.Reshaping-Indias-Political-Map.ppt/pdf/8th class social science Exploring S...
Sandeep Swamy
 
Strengthening open access through collaboration: building connections with OP...
Jisc
 
Skill Development Program For Physiotherapy Students by SRY.pptx
Prof.Dr.Y.SHANTHOSHRAJA MPT Orthopedic., MSc Microbiology
 
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
Nursing Management of Patients with Disorders of Ear, Nose, and Throat (ENT) ...
RAKESH SAJJAN
 
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
Mithil Fal Desai
 
An introduction to Dialogue writing.pptx
drsiddhantnagine
 
3.The-Rise-of-the-Marathas.pdfppt/pdf/8th class social science Exploring Soci...
Sandeep Swamy
 
Introduction and Scope of Bichemistry.pptx
shantiyogi
 
TEF & EA Bsc Nursing 5th sem.....BBBpptx
AneetaSharma15
 
Software Engineering BSC DS UNIT 1 .pptx
Dr. Pallawi Bulakh
 
Open Quiz Monsoon Mind Game Prelims.pptx
Sourav Kr Podder
 
UPPER GASTRO INTESTINAL DISORDER.docx
BANDITA PATRA
 
PPTs-The Rise of Empiresghhhhhhhh (1).pptx
academysrusti114
 
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
 
PG-BPSDMP 2 TAHUN 2025PG-BPSDMP 2 TAHUN 2025.pdf
AshifaRamadhani
 
Introducing Procurement and Supply L2M1.pdf
labyankof
 
1.Natural-Resources-and-Their-Use.ppt pdf /8th class social science Exploring...
Sandeep Swamy
 

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