Archive

Archives pour 04/2010

Classes proxy en PHP : l’AOP des pauvres

Introduction

Dans cet article, nous allons voir comment mettre en œuvre le design pattern Proxy en PHP pour faire par exemple de l’AOP. Nous ne couvrirons qu’une petite partie du vaste domaine qu’est la programmation par aspects, pour des raisons de simplicité et de longueur d’article.

Commençons par la classique citation Wikipedia :

La programmation orientée aspect (POA, en anglais aspect-oriented programming – AOP) est un paradigme de programmation qui permet de séparer les considérations techniques (aspect en anglais) des descriptions métier dans une application

L’utilisation de l’AOP permet ainsi de factoriser du code transverse tel que le logging des paramètres passés à une méthode, ou encore l’exécution d’une méthode au sein d’une transaction. On peut ainsi se concentrer sur le code métier dans la méthode.

Nous allons mettre en œuvre une implémentation basique d’AOP en PHP. Je sais, le domaine d’expertise d’Excilys est bien le Java ;). Lire la suite…

Share
Categories: Non classé Tags: , ,

Hudson : retour d’expérience et conseils pratiques

butlerPour ceux qui pratiquent l’Extreme Programming ou l’Agilité, l’intégration continue est devenue incontournable.

A titre de rappel, l’intégration continue est une pratique permettant le suivi de la qualité d’un projet en compilant régulièrement ses sources et en évaluant ses métriques (nombre de tests en échec ou nombre de warnings checktyle par exemple). La mise en place de cette pratique est assurée par des outils tels que Hudson, Continuum ou Cruisecontrol.


Un moustachu qui vous veut du bien…

Dans le cadre de cet article, je vais vous présenter Hudson et partager avec vous un peu de l’expérience que j’ai de cet outil. Lire la suite…

Share

Serial version UID ?

Capture d’écran 2010-03-18 à 21.46.37

Tout le monde connaît le warning affiché par défaut dans Eclipse quand une classe implémentant Serializable ne déclare pas d’attribut de classe final serialVersionUID de type long. Il y a différents types de réactions :

  • On ne touche à rien, c’est qu’un warning (aka politique de l’autruche).
  • On utilise le quick fix d’eclipse pour supprimer le warning (avec l’annotation @SuppressWarnings("serial")) (autruche aussi).
  • On utilise le quick fix d’eclipse pour générer un attribut serialVersionUID, de valeur 1L ou autre, généré par eclipse, selon les préférences et on n’y touche plus (un huitième de seconde et on y pense plus).

Il y a des gens que les warnings ne dérangent pas, moi je serais plutôt du genre à tout activer et à traquer toutes les petites pastilles jaunes. En général c’est vraiment le signe qu’il y a un truc pas terrible.

En même temps ajouter des numéros dans les classes comme ça sans trop savoir pourquoi… Lire la suite…

Share
Categories: Non classé Tags: