SlideShare une entreprise Scribd logo
1  sur  28
AOP
A case-study in Android
by
Carlos Anjos
anjosc@imeshine.com
Why ?
Developing for Android
● The 5 stages of grief
● Denial
– “This can't be that bad, I must be missing something ...”
● Anger
– “WTF did they have to reinvent the wheel … for the worse ?!”
● Bargaining
– “Maybe I can find a port of my favorite framework for android … Err....
Maybe I can patch it to make it work ...”
● Depression
– “Nothing works … nothing will ever work … :'-( Maybe I should stick to
doing HTML and Javascript ...“
● Acceptance
– “Oh well … let's start coding !” - «Resistance is futile»
Real men don't eat honey, they chew bees !
What is AOP ?
AspectJ
AspectJ – Java AOP
● Cross-cutting concerns
AOP - Weaving
Source: AspectJ in Action
AOP – Like Themes
Concepts
•Jointpoint
•Pointcut
•Advice
•Aspect
How AspectJ implements AOP
Source code weaving
Binary weaving
Load Time weaving
How it works
How it works
How it works (with Android)
The case study
AspectJ FTW!
}
AspectJ - Level 2
AspectJ – Level 3
AspectJ - Level 4
AspectJ – Level 5
AspectJ – Level 6
AspectJ – Level 7
AspectJ – Level 8
AspectJ – Level 100
AspectJ – Over 9000 !
Paradigm Shift !
Careful …
don't try to solve
everything with
aspects !
OOP is still good ! :-)
“Perfection is achieved,
not when there is nothing more to add,
but when there is nothing left to take away.”
Antoine de Saint-Exupéry
Resources
● AspectJ in Action, Ramnivas Laddad
● http://www.eclipse.org/aspectj/
● http://www.eclipse.org/ajdt/
● http://android.imeshine.com/
● stackoverflow.com
● commonsware.com
● apps.sapo.pt
● developer.android.com
Questions ?

Contenu connexe

Tendances

Introduction to theory of machines
Introduction to theory of machinesIntroduction to theory of machines
Introduction to theory of machinesAshish Khudaiwala
 
Pantograph,geneva,swinging mechanisms
Pantograph,geneva,swinging mechanismsPantograph,geneva,swinging mechanisms
Pantograph,geneva,swinging mechanismsNIMESH SUTHAR
 
Kinematic analysis of mechanisms analytical methods
Kinematic analysis of mechanisms analytical methodsKinematic analysis of mechanisms analytical methods
Kinematic analysis of mechanisms analytical methodsDr.Vikas Deulgaonkar
 
Planers machine
Planers machinePlaners machine
Planers machineBilalwahla
 
ENGINEERING_METROLOGY_AND_MEASUREMENTS.pdf
ENGINEERING_METROLOGY_AND_MEASUREMENTS.pdfENGINEERING_METROLOGY_AND_MEASUREMENTS.pdf
ENGINEERING_METROLOGY_AND_MEASUREMENTS.pdfMahamad Jawhar
 
Ch6 sheetmetw proc (1) Erdi Karaçal Mechanical Engineer University of Gaziantep
Ch6 sheetmetw proc (1) Erdi Karaçal Mechanical Engineer University of GaziantepCh6 sheetmetw proc (1) Erdi Karaçal Mechanical Engineer University of Gaziantep
Ch6 sheetmetw proc (1) Erdi Karaçal Mechanical Engineer University of GaziantepErdi Karaçal
 
MT-II UNIT II TURNING MACHINES
MT-II UNIT II TURNING MACHINESMT-II UNIT II TURNING MACHINES
MT-II UNIT II TURNING MACHINESKarthik R
 
01 part1 02 parts of a lathe
01 part1 02 parts of a lathe01 part1 02 parts of a lathe
01 part1 02 parts of a lathegunabalan sellan
 

Tendances (20)

Introduction to theory of machines
Introduction to theory of machinesIntroduction to theory of machines
Introduction to theory of machines
 
Unit IV form measurements
Unit IV  form measurements Unit IV  form measurements
Unit IV form measurements
 
Pantograph,geneva,swinging mechanisms
Pantograph,geneva,swinging mechanismsPantograph,geneva,swinging mechanisms
Pantograph,geneva,swinging mechanisms
 
Jig locatorss
Jig locatorssJig locatorss
Jig locatorss
 
Kinematic analysis of mechanisms analytical methods
Kinematic analysis of mechanisms analytical methodsKinematic analysis of mechanisms analytical methods
Kinematic analysis of mechanisms analytical methods
 
Planers machine
Planers machinePlaners machine
Planers machine
 
Metrology and Measuremenrt
Metrology and MeasuremenrtMetrology and Measuremenrt
Metrology and Measuremenrt
 
Linear measurement
Linear measurementLinear measurement
Linear measurement
 
Improvement on Design Analysis and Construction of ‘Garri’ Sieving Machine wi...
Improvement on Design Analysis and Construction of ‘Garri’ Sieving Machine wi...Improvement on Design Analysis and Construction of ‘Garri’ Sieving Machine wi...
Improvement on Design Analysis and Construction of ‘Garri’ Sieving Machine wi...
 
2.1 helical gear
2.1 helical gear2.1 helical gear
2.1 helical gear
 
Mechanisms
MechanismsMechanisms
Mechanisms
 
Design and Drawing of CAM profiles
Design and Drawing of CAM profilesDesign and Drawing of CAM profiles
Design and Drawing of CAM profiles
 
ENGINEERING_METROLOGY_AND_MEASUREMENTS.pdf
ENGINEERING_METROLOGY_AND_MEASUREMENTS.pdfENGINEERING_METROLOGY_AND_MEASUREMENTS.pdf
ENGINEERING_METROLOGY_AND_MEASUREMENTS.pdf
 
Ch6 sheetmetw proc (1) Erdi Karaçal Mechanical Engineer University of Gaziantep
Ch6 sheetmetw proc (1) Erdi Karaçal Mechanical Engineer University of GaziantepCh6 sheetmetw proc (1) Erdi Karaçal Mechanical Engineer University of Gaziantep
Ch6 sheetmetw proc (1) Erdi Karaçal Mechanical Engineer University of Gaziantep
 
MT-II UNIT II TURNING MACHINES
MT-II UNIT II TURNING MACHINESMT-II UNIT II TURNING MACHINES
MT-II UNIT II TURNING MACHINES
 
CNC.pdf
CNC.pdfCNC.pdf
CNC.pdf
 
Dupuytrens disease
Dupuytrens diseaseDupuytrens disease
Dupuytrens disease
 
01 part1 02 parts of a lathe
01 part1 02 parts of a lathe01 part1 02 parts of a lathe
01 part1 02 parts of a lathe
 
Limits,fits and tolerances
Limits,fits and tolerancesLimits,fits and tolerances
Limits,fits and tolerances
 
Robot Sensing Systems - 1
Robot Sensing Systems - 1Robot Sensing Systems - 1
Robot Sensing Systems - 1
 

En vedette

AspectJ Android with Example
AspectJ Android with ExampleAspectJ Android with Example
AspectJ Android with Examplefirstthumb
 
Aspect Oriented Programming and Design
Aspect Oriented Programming and DesignAspect Oriented Programming and Design
Aspect Oriented Programming and DesignManikanda kumar
 
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)WSO2
 
Hacking for fun and for profit
Hacking for fun and for profitHacking for fun and for profit
Hacking for fun and for profitdavtbaum
 
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...CICMoficial
 
Break Timer: Android-wear introduction and application case-study
Break Timer: Android-wear introduction and application case-studyBreak Timer: Android-wear introduction and application case-study
Break Timer: Android-wear introduction and application case-studyUmair Vatao
 
マルチテナントメッセージング基盤を刷新して一年運用した話
マルチテナントメッセージング基盤を刷新して一年運用した話マルチテナントメッセージング基盤を刷新して一年運用した話
マルチテナントメッセージング基盤を刷新して一年運用した話Tomohisa Aoshima
 
Object Oriented Programing - Inheritance
Object Oriented Programing - InheritanceObject Oriented Programing - Inheritance
Object Oriented Programing - InheritanceBayu Firmawan Paoh
 
Dynamics Telephony Dialer Intro
Dynamics Telephony Dialer IntroDynamics Telephony Dialer Intro
Dynamics Telephony Dialer IntroEddie Steede
 
Object Oriented Programing - Polymrphism
Object Oriented Programing - PolymrphismObject Oriented Programing - Polymrphism
Object Oriented Programing - PolymrphismBayu Firmawan Paoh
 
Object Oriented Programing - Intro
Object Oriented Programing - IntroObject Oriented Programing - Intro
Object Oriented Programing - IntroBayu Firmawan Paoh
 
Object Oriented Programing in JavaScript
Object Oriented Programing in JavaScriptObject Oriented Programing in JavaScript
Object Oriented Programing in JavaScriptAkshay Mathur
 
Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)Walter Javier Franck
 
object oriented programing lecture 1
object oriented programing lecture 1object oriented programing lecture 1
object oriented programing lecture 1Geophery sanga
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented ProgrammingAnumod Kumar
 

En vedette (20)

AOP on Android
AOP on AndroidAOP on Android
AOP on Android
 
AspectJ Android with Example
AspectJ Android with ExampleAspectJ Android with Example
AspectJ Android with Example
 
Aspect Oriented Programing - Introduction
Aspect Oriented Programing - IntroductionAspect Oriented Programing - Introduction
Aspect Oriented Programing - Introduction
 
Aspect Oriented Programming and Design
Aspect Oriented Programming and DesignAspect Oriented Programming and Design
Aspect Oriented Programming and Design
 
Google android case study
Google android case studyGoogle android case study
Google android case study
 
Spring AOP
Spring AOPSpring AOP
Spring AOP
 
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)
 
Hacking for fun and for profit
Hacking for fun and for profitHacking for fun and for profit
Hacking for fun and for profit
 
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
 
Break Timer: Android-wear introduction and application case-study
Break Timer: Android-wear introduction and application case-studyBreak Timer: Android-wear introduction and application case-study
Break Timer: Android-wear introduction and application case-study
 
マルチテナントメッセージング基盤を刷新して一年運用した話
マルチテナントメッセージング基盤を刷新して一年運用した話マルチテナントメッセージング基盤を刷新して一年運用した話
マルチテナントメッセージング基盤を刷新して一年運用した話
 
Object Oriented Programing - Inheritance
Object Oriented Programing - InheritanceObject Oriented Programing - Inheritance
Object Oriented Programing - Inheritance
 
Dynamics Telephony Dialer Intro
Dynamics Telephony Dialer IntroDynamics Telephony Dialer Intro
Dynamics Telephony Dialer Intro
 
Object Oriented Programing - Polymrphism
Object Oriented Programing - PolymrphismObject Oriented Programing - Polymrphism
Object Oriented Programing - Polymrphism
 
Object Oriented Programing - Intro
Object Oriented Programing - IntroObject Oriented Programing - Intro
Object Oriented Programing - Intro
 
Object Oriented Programing in JavaScript
Object Oriented Programing in JavaScriptObject Oriented Programing in JavaScript
Object Oriented Programing in JavaScript
 
Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)
 
AOP
AOPAOP
AOP
 
object oriented programing lecture 1
object oriented programing lecture 1object oriented programing lecture 1
object oriented programing lecture 1
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 

Dernier

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 

Dernier (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Aspect Oriented Programming (AOP) - A case study in Android