Bibliography

Je pense que pour conseiller un client il faut avoir un esprit critique, avoir matière à comparaison, savoir définir un contexte et trouver la meilleure action (ré-action ?) à avoir dans ce contexte particulier. Pour cela il faut être informé. Il faut donc chercher l’information où elle se trouve. Ma source d’information préférée sera toujours le livre (je fixe en lisant). Cependant la démarche de lecture est déjà un approfondissement. Pour entretenir ma curiosité les blogs techniques, les événements/conférences sont une bonne solution.

Sur cette page, je donne mon impression sur certains livres qui ont influencé ma façon de faire mon métier. N’apparaissent ici que les livres qui m’ont marqué, les autres n’y sont pas car ils n’ont pas constitué de réelle révélation.

– Expert One-on-One J2EE Design and Development (Programmer to Programmer) : LA révélation. Ce livre expliquait, au moment de sa sortie, tout sur les bonnes et mauvaises pratiques des softs d’entreprise. L’auteur n’est plus à présenter. Il a une connaissance véritablement très approfondie des technologies objet, particulièrement JEE. Il révolutionné le monde JEE au moment ou il perdait serieusement en intérêt, en innovation, et par conséquent, sa position de leader en technologie objet. Faire du JEE c’était faire compliqué, pompeux, non-performant et totalement improductif. Rod Johnson expliquait comment éviter de s’égarer.

– Expert One-on-One J2EE Development without EJB : la suite du livre ci-dessus. Si on veut être objectif on admettra que l’auteur avait un plan : eradiquer l’utilisation des EJB et mettre en avant son framework développé à Interface 21. Springframework voyait le jour …

– Domain-Driven Design : les livres ci-dessus vous apprennent les bases de la programmation des applications d’entreprise (séparation en couches, etc). Pour autant une couche est toujours négligée : la couche domain. C’est une négligence légitime car construire une couche domain est une activité très créative, rendant extrêmement difficile toute forme d’automatisation/industrialisation de cette activité. Eric Evans, l’auteur, réussit l’excercice avec brio. Il admet qu’il n’existe pas une façon de définir le coeur d’un soft. Mais il apporte une philosophie, un esprit qui induit de bonnes pratiques. Le concept principal d’Ubiquituous Language est un idéal jamais atteint. Par contre, certaines solutions relatives aux services et à la persistances sont plus discutables car aujourd’hui nous avons des frameworks performants et rapides qui réalisent très bien les solutions décrites dans le livre.

Agile Software Development, Principles, Patterns, and Practices : Dans ce livre on revient aux principes Objet simples ou avancés. Certains examples sont en C++ mais la plupart sont en Java. Tous les principes objets (indépendants du langage) sont décrits. Pour être agile il faut savoir écrire un code extensible, bien organisé, savoir gérer les dépendences entre les artéfacts. Un des mentors des technologies objet nous livre ici quelques uns de ses secrets.

Patterns of Enterprise Application Architecture : Ce livre m’a ouvert les yeux sur des designs que je considérais “faux” car ils n’étaient pas préconisés par les patterns JEE et je me suis rendu compte que tout est contextuel et qu’il n’existe pas de mauvais design.
J’ai été très marqué par le pattern Active Record qui est très orienté composant et objet car il encapsule tous les comportement liées à un même objet : les comportments de persistance (toutes les opérations CRUD), les validations métier, etc. Il est très utilisé dans les architectures .NET, dans les composants graphiques évolués et autonomes (dans lesquels les couches métiers et persistence n’existent pas forcément). C’est un livre à lire lorsque l’on veut s’ouvrir à certains designs moins classiques.

Refactoring: Improving the Design of Existing Code : L’auteur (Martin Fowler) présente tout l’intérêt et la pertinence de l’activité de refactoring. Le cycle “test, code, refactor” prend tout son sens. Certaines techniques unitaires de refactoring ont été reprises par l’éditeur Eclipse.

Maven: The Definitive Guide : Le livre à avoir pour connaître Maven. La société Sonatype a eu la générosité incroyable de mettre à disosition ce livre gratuitement sur son site à cette adresse. Maven est pour moi le framework numéro 1 dans mon socle technique.

Design patterns tête la première : c’est l’édition en français de Design Patterns head first. Les patterns du Gof revisités, expliqués avec des exemples simples mais parlants. On ne retient pas tout du 1er coup par contre on peut y revenir facilement.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s