Au terme de plusieurs années de développements, je vois avec effroi l'apparition du métier à tisser dans notre noble corporation.
Tutorial Details:
Mais cette fois-ci la coupe est pleine: j'apprends avec stupeur que l'on veut injecter des greffons sur mon code, sans m'en avertir. Mon code va donc être utilisé, détourné de son objectif initial, dénaturé par de multiples et invisibles GoTos!
J'appelle donc à la révolte! Unissons-nous programmeurs de tous les pays! Contraquons contre cette soi-disant programmation orientée Aspect juste bonne à nous transformer en petites mains!
POA, c'est moche ce qui vous arrive. Je comprends très bien que le viol de votre code au plus profond de son intimité puisse vous faire craindre la mise en péril de son intégrité. Mais sachez que vous en êtes avant tout le principal responsable! De par votre attitude, à sans cesse le structurer et a en isoler chacune des fonctions en procédant à une encapsulation systématique vous avez rendu votre code aguichant sous tous ses aspects . Si vous vouliez porter l’affaire en justice, je pense qu’au regard de votre attitude provocante les violeurs/voleurs dont vous parlez seraient relaxés.
Afin que ce gang de violeurs qui se réclament du mouvement de la programmation Aspect ne puisse plus s’en prendre à votre code, il faut que vous cessiez de les provoquer ainsi en affichant de tels attraits. Pour les repousser, vous devez produire du code qui pour eux sera répulsif. La recette de l’écriture d’un tel code est relativement simple :
Afin d’éviter l’intrusion ultérieure de Gotos invisibles mettez en partout dès le départ ainsi ces intrus trouverons difficilement un endroit où s’installer.
Ne scindez pas votre code en fonction des services qu’il rend mais plutôt en fonction de critères purement techniques dans l’unique but d’en faciliter la rédaction. Ce découpage ingénieux satisfera votre égo de développeur, n’apportera strictement rien en terme de service rendu mais rendra surtout ces services difficilement utilisables par vos violeurs.
Pour couvrir un besoin n’essayez pas de comprendre le « quoi » mais pensez uniquement au « comment ». Cherchez une solution technique. Dès que vous en tenez une, lancez vous. Ne vous inquiétez pas. Si par la suite vous découvriez des besoins que vous n’aviez pas perçus au départ, vous trouverez toujours bien un endroit où les intégrer dans ces grandes procédures monolithiques auxquelles vous aurez naturellement abouti.
Read
Tutorial at: Click here to view the tutorial
Rate Tutorial: Combattons la programmation orientée Aspect
View Tutorial: Combattons la programmation orientée Aspect
Related
Tutorials:
How to easily reconfigure your applications -- while
they're running - JavaWorld - April
1999
How to easily reconfigure your applications -- while
they're running - JavaWorld - April
1999 |
XML JavaBeans, Part 1 - JavaWorld February 1999
XML JavaBeans, Part 1 - JavaWorld February 1999 |
XML for the
absolute beginner - JavaWorld - April 1999
XML for the
absolute beginner - JavaWorld - April 1999 |
Internationalize JSP-based Websites - JavaWorld March 2000
Internationalize JSP-based Websites - JavaWorld March 2000 |
Mapping XML to Java, Part 1 - JavaWorld August 2000
Mapping XML to Java, Part 1 - JavaWorld August 2000 |
Build your own
languages with
JavaCC - JavaWorld December
2000
Build your own
languages with
JavaCC - JavaWorld December
2000 |
I want my AOP!, Part 1
I want my AOP!, Part 1 |
I want my AOP!,
Part 2
I want my AOP!,
Part 2 |
I want my AOP!, Part 3
I want my AOP!, Part 3 |
Use AOP to maintain legacy Java applications
Use AOP to maintain legacy Java applications
This artical shows you how to use aspect-oriented programming (AOP) to gain an unprecedented view into the inner workings of even the most opaque of legacy applications.
Please note that this article assume |
Improve Application Management With JMX
Improve Application Management With JMX
Leverage JMX technology and existing tools to boost the operations management capabilities of your business applications.
|
Object-relation mapping without the container
If you follow the latest developer buzz then you\\\\\'ve likely heard of IOC (Inversion of Control) containers and AOP (aspect-oriented programming). |
Java programming dynamics, Part 7: Bytecode engineering with BCEL
Java programming dynamics, Part 7: Bytecode engineering with BCEL
Apache BCEL lets you get to the details of JVM assembler language for classworking
The Apache Byte Code Engineering Library (BCEL) lets you dig into the bytecode of Java classes. You |
Performance Analysis of J2EE Applications Using AOP Techniques
Performance Analysis of J2EE Applications Using AOP Techniques
In this article we demonstrate the use of AOP techniques through which J2EE applications can be easily instrumented without any modifications to application code. We have developed a very sim |
Second-generation aspect-oriented
programming
Second-generation aspect-oriented
programming |
Aspect-Oriented Annotations
Aspect-Oriented Annotations
Annotations are one of the new language features in J2SE 5.0, and allow you to attach metadata onto any Java construct. Meanwhile, Aspect-Oriented Programming (AOP) is a fairly new technology that makes it easier for you to en |
Aspect-Oriented Programming in Java
This article is divided into three parts: The first part explaines the concepts of AOP, the second introduces AspectJ(TM), an implementation of the AOP concepts in Java, and part three compares the AOP approach to metalevel programming.
|
Java validation with dynamic proxies
Decouple validation processes from your business object implementations. |
Develop aspect-oriented Java applications with Eclipse and AJDT
AspectJ is an aspect-oriented extension of the Javaâ„¢ language that enables a modular implementation of crosscutting concerns. This crosscutting behavior, which can be static or dynamic, presents an extra challenge to tools that support AspectJ. The AJDT |
Understanding MIDP System Threads
Describes the multi-threaded aspects of the J2ME application environment. Understanding the interactions between systems threads, user-interface and application threads will help in avoiding MIDlet deadlock. |
|
|
|