Programmation orientée aspect Une abréviation pour aspect, c'est une méthode qui vous permet de décrire diverses parties inséparables d'un programme comme un aspect en extrayant un traitement commun à tous les niveaux. Source de l'image: Tutoriel Spring AOP - AOP pour les débutants avec des exemples
Il existe différentes méthodes, mais cette fois je présenterai Function.prototype à titre d'exemple.
//Définir avant la fonction
Function.prototype.before = function( functionBefore ) {
var _this = this;
//Renvoie respectivement la fonction d'origine et la fonction avant
return function() {
functionBefore.apply(this, arguments);
return _this.apply(this, arguments);
}
};
//Définir la fonction après
Function.prototype.after = function( functionAfter ) {
var _this = this;
return function() {
var result = _this.apply(this, arguments);
functionAfter.apply(this, arguments);
return result;
}
};
//Préparer une fonction de test
var fn = function() {
console.log('fn is running');
};
// before()Et après()Pour "ajouter" à la fonction de test
fn = fn.before(function(){
console.log('start!');
}).after(function(){
console.log('end!');
});
fn();
Le résultat est:
Il s'avère que «start!», «Fn is running» et «end!» Sont affichés dans l'ordre.
Mécanisme commun tel que.