J’ai oublié de vous dire que je donnerais demain une conférence à la Blend Web Mix à propos de la programmation orientée « vers l’est », également connue sous le nom de programmation orientée objet. Cette conférence est la synthèse du (long et difficile) chemin que j’ai parcouru en 18 mois lorsque […]
Mot-clé - POO
mardi 12 mars 2013
La POO expliquée par Steve Jobs
mardi 12 mars 2013. Réfléxions
Objects are like people. They're living, breathing things that have knowledge inside them about how to do things and have memory inside them so they can remember things. And rather than interacting with them at a very low level, you interact with them at a very high level of abstraction, like we're […]
mercredi 29 décembre 2010
private, protected et public sont dans un bâteau...
mercredi 29 décembre 2010. Réfléxions › PHP
Suite à mon billet sur l'intérêt des tests unitaires sur les méthodes privées ou protégées, j'ai eu beaucoup de commentaires au sujet de l'encapsulation et sur sa mise en œuvre.
Récemment, cousin @ub sans bermuda, l'un de mes collègues chez PMSIpilot, a relancé le débat via un sondage, même si son objectif était plutôt de lancer un débat sur le thème la composition contre l'héritage
.
J'ai donc décidé de prendre mon clavier pour à la fois essayer de répondre à ces interrogations et mettre à plat ma propre réflexion sur le sujet.
L'encapsulation, dans le cadre de la POO, consiste dans le fait de masquer à l'utilisateur d'une classe les détails de son implémentation.
En PHP, elle est mise en œuvre à l'aide des mots-clefs private
, protected
et public
, qui sont applicables au choix sur les propriétés d'une classe ou ses méthodes.
Le mot-clef private
permet donc très logiquement de
masquer à l'utilisateur final les propriétés et les méthodes sur
lesquelles il est appliqué, alors que public
, à contrario, permet de rendre les éléments sur lesquels il est appliqué totalement accessibles.
Enfin, tout ce qui est protected
a un statut particulier, dans le sens ou tout ce sur quoi il est appliqué se comporte comme étant privé pour l'utilisateur de la classe, et comme étant publique dans les classes dérivées.
Lors de la conception d'une classe, le développeur doit donc choisir entre ces différents niveaux de visibilité, et cela à bon escient, car un mauvais choix à ce niveau peut avoir des répercussions parfois très gênantes pour les utilisateurs.
Or, il n'y a aucune règle explicite gouvernant l'utilisation de ces mots-clefs, car elle dépend très étroitement du contexte.
lundi 26 avril 2010
svneeg : la classe sparkline ou héritage vs. composition

svneeg
ayant pour but de représenter sous forme graphique le nombre de commits quotidiens effectués sur un dépôt svn
en général et le trunk de PHP en particulier, je me suis dis que les sparklines étaient le type de graphique le plus adapté.
En effet, leur créateur, à savoir M. Edward Tufte, les décrit comme, je cite, des graphiques intenses en données, de design simple, et ayant la taille d’un mot
.
Ce format est donc très adapté à mon besoin puisque je souhaitais pouvoir intégrer le graphique n'importe où de manière simple.
De plus, l'information représentée par le graphe étant simple, la petitesse de sa représentation induite par ce format ne devient pas un frein à sa compréhension.
La solution trouvée et validée, il ne restait plus qu'à la mettre en œuvre.
Et pour une fois, contrairement à mon habitude de réinventer la roue, je me suis mis à la recherche d'un code PHP tiers qui me permette de générer mes sparklines.
On me reproche en effet régulièrement de bafouer le mantra Don't reinvent the wheel !
, et je m'étais dis que ce on
pouvait ne pas avoir tort.
mercredi 24 mars 2010
L'INRIA parle de la maintenance logiciel
mercredi 24 mars 2010. Conférences
Je me permet de relayer une informations intéressante pour tout utilisateurs de PHP ou de tout autre langage permettant de faire de la programmation orientée objet de Lille et de ses environs.