Archive
Applying the Adapter Pattern to the Composite Pattern Best Practice
I’ve recently stumbled on a seemingly simple issue. If you have a Composite pattern, how do you create an Adapter pattern for it? In other words, if we want to create a wrapper for a set of classes in a composite, how do you map this while hiding the composite classes themselves? Read more…
Programmation organique
J’aime beaucoup le refactoring. Ça n’a pas toujours été le cas! Pendant longtemps, j’ai cru que la façon la plus efficace d’écrire du code était de parfaitement conceptualiser l’ensemble de l’application. Un jour, pourtant, je me suis rendu compte qu’il était peut-être sage de commencer à écrire du code tôt. En effet, on peut ainsi mitiger certains risques, avoir un feedback fonctionnel plus rapide, et permettre d’établir certaines bases de travail pour une équipe.
Facilitez-vous la vie, fabriquez vos outils!
Combien de fois par jour répétez-vous les mêmes actions? Copier des fichiers, vous authentifier chaque fois que vous compilez, effacer des fichiers temporaires, copier-coller des valeurs… probablement plus souvent que vous ne le croyez. Plus souvent on recommence une même activité, plus elle devient naturelle, automatique, et moins on se rend compte du temps qu’on passe à la faire. Résultat, votre temps “productif” est réduit, au profit d’actions démotivantes et répétitives. De plus, votre concentration est constamment compromise. Il existe pourtant un grand nombre d’outils prévus pour accélérer votre travail, prêts à être utilisés. Surtout, vous êtes en mesure de créer vos propres outils, plus adaptés que tout ce que vous pourriez trouver ailleurs. C’est une tâche plaisante et motivante qui optimisera votre temps, minimisera les perturbations et réduira les risques d’erreurs.
Lisez la suite de cet article sur notre nouveau site, christianrondeau.net
Opinion sans originalité sur les exceptions
Cet article est en réalité un courriel répondant à une question sur les bonnes pratiques avec les exceptions. S’il peut être utile à quelqu’un, tant mieux!
Je speak C#
Une grande question, difficile à répondre; dans quelle langue doit-on déclarer ses variables, méthodes et classes? Dans quelle langue devrait-on écrire ses commentaires?La syntaxe
Premièrement, il faut noter que je suis un francophone aguerri, prêt à bondir pour défendre sa langue. Mais, car il y a un mais, un problème survient; lorsqu’on développe une application, on utilise un langage de programmation. Ce langage est en quelque sorte une langue à part, un sous-ensemble de l’anglais. Sa structure et ses mots correspondent à l’anglais. Quels sont les impacts? Une lecture naturelle.
Deux, c’est bien, mais un, c’est mieux!
Un petit article sur un détail important mais qui, je crois, n’a pas été beaucoup discuté; le nombre d’appels sur des objets dans une ligne de code.
Prenons par exemple la ligne de code suivante, ou employe est un paramètre de méthode:
int assignements = employe.GetHoraire().GetAssigments(this.jourEnCours).Length;
Elle peut paraître exagérée pour certains, mais elle représente plusieurs cas que j’ai vu et que j’ai fait. Beaucoup auront prévu le coup; en production l’erreur suivante est lancée:
Object reference not set to an instance of an object.
L’affichage des composites en ASP.NET
Beaucoup de gens ont travaillé avec des composites. Ils s’avèrent en effet utiles pour déterminer des règles imbriquées, des catégories à plusieurs niveaux, des menus récursifs etc. Il est par contre difficile de les afficher en ASP.NET sans transformer le code en amas monstrueux de conditions. Voici donc l’approche qui, selon mon humble opinion, s’est avérée la plus simple et la plus facile à maintenir. Read more…
Les Navigation Nodes; une approche pour la navigation web
Dans tous les projets web que j’ai eu l’occasion de développer jusqu’ici, un chose est indiscutablement présente: un plan de navigation, spécifiant quelles pages mènent à quel endroit, dans quels contextes et conditions. Ces problèmes m’ont amené à développer (avec l’aide de Stéphane) et implémenter avec succès dans deux projets une méthode que je nommerai ici “Navigation Node”. Problème:
- La navigation est étroitement liée au design, donc difficile à maintenir
- Les changements de flux de navigation demandent beaucoup de tests et de vérifications
- Les URLs dynamiques sont souvent difficiles à gérer
- Il n’y a pas d’endroit centralisé ou gérer la logique de navigation