Fabien Bézagu

Applying Domain-Driven Design and Patterns

Voici le livre de Jimmy Nilsson que je suis en train de lire en ce moment. Lorsque j'avais lu PoEAA [1], j'étais à la fois ébloui mais aussi un peu resté sur ma faim. Ebloui car les patterns qui y étaient présentés me permettaient de mettre un nom sur de nombreuses constructions que j'avais utilisées jusqu'à présent. Je pouvais aussi améliorer la qualité de mes architectures en asseyant ma confiance sur ces patterns. J'étais cependant resté sur ma faim car je ne voyais pas nettement comment appréhender un projet basé sur le Domain Model, le plus éblouissant des patterns à mes yeux. C'est dire comme j'attendais ce livre qui se proposait de mettre en oeuvre, par des exemples concrets (et en C#), ce pattern. Le fait que NHibernate soit au sommaire rajoute encore à son attrait.

Pour l'instant aux trois-quarts du livre, je dois dire que je ne suis pas déçu ! Jimmy Nilsson nous prend par la main et nous emmène là où son expérience l'a conduit : centrer toute son attention sur le Domain Model.

Un plaisir en entrainant un autre, il utilise une méthode de Test-Driven Development (TDD). J'avais déjà vu NUnit mais je me rends compte désormais que la question fondamentale n'était pas dans le comment tester mais bien quoi et quand ! La méthode TDD me plaît et je vais essayer de la mettre en oeuvre désormais.

Je reviendrai donc plus tard sur ce livre et essaierai de discuter sur certains détails.

Pour plus d'infos

Site de Jimmy Nilsson : http://www.jnsk.se/

Notes

[1] [PoEAA] Martin Fowler. Patterns of Enterprise Application Architecture.Addison-Wesley, 2002

Plantons le décor

Originalité oblige, je vais commencer par une petite introduction.

Le contenu de ce blog concernera avant tout mes activités professionnelles. Je suis développeur/architecte d'applications logicielles et je souhaite ici faire profiter de ma modeste expérience à ceux qui, comme moi, ne trouvent pas toujours de réponse à leurs questions.

Ce qui me passionne avant tout dans la création d'architectures logicielles, c'est d'essayer sans cesse d'améliorer la qualité, aussi bien interne qu'externe, des projets que je développe. A mes yeux, le monde de l'industrie du logiciel est encore jeune : son ébullition incessante en est la preuve. Les méthodes et les outils évoluent vite et il n'est pas toujours facile de suivre tout azimut ce qui va arriver. Je fais donc des choix et je n'ai pas honte de dire qu'il me reste encore de nombreuses faiblesses.

Quels seront les sujets abordés ?

Ceux qui m'intéressent le plus. En voici une liste non exhaustive :

  • Architectures en couche
  • Mapping Objet Relationnel (notamment avec NHibernate)
  • .NET/C#
  • Patterns
  • Domain Driven Design
  • Conception orientée objet

Le décor semble à peu près planté, je vais donc pouvoir commencer à jouer.