Faut il nécessairement maîtriser les design patterns?
Résolu
chrisee
Messages postés
181
Date d'inscription
Statut
Membre
Dernière intervention
-
chrisee Messages postés 181 Date d'inscription Statut Membre Dernière intervention -
chrisee Messages postés 181 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Faut il nécessairement maîtriser les design patterns?
- Memup feel design - Forum Disque dur / SSD
- Stb refsw design c'est quoi - Forum Téléviseurs
- Disque dur externe multimedia memup lx 500Go ✓ - Forum Disque dur / SSD
- Quelles sont les conditions nécessaires pour se créer un compte sur un réseau social quand on est âgé de moins de 15 ans ? - Accueil - Guide réseaux sociaux
- Maeva vient de créer son entreprise de design à montréal ✓ - Forum Loisirs / Divertissements
3 réponses
Je rejoins la réponse précédente mais avec un autre point de vue.
Il faut avoir lu une ou plusieurs fois l'utilité de chaque pattern ou design afin de les utiliser en temps voulu. Si tu n'en vois pas l'utilité, pas de problème. Ne pas chercher à tout prix à vouloir les intégrer.
Cependant, des grandes entreprises ont surement déjà en place des patterns de ce genre dans leurs applications et si tu bosses pour eux, il va falloir s'y familiariser et coder avec. C'est déjà bon d'y avoir été sensibilisé.
Et même si de petites boites n'ont pas encore de design pattern dans leur code, il pourrait être intéressant de réfléchir à des patterns qui leur permettrait de gagner en rendement (rechercher les points faibles pour le développement et les combler par un pattern si possible).
Je te conseille vivement de te familiariser encore plus avec les plus connus (MVC, singleton, factory etc.)
Il faut avoir lu une ou plusieurs fois l'utilité de chaque pattern ou design afin de les utiliser en temps voulu. Si tu n'en vois pas l'utilité, pas de problème. Ne pas chercher à tout prix à vouloir les intégrer.
Cependant, des grandes entreprises ont surement déjà en place des patterns de ce genre dans leurs applications et si tu bosses pour eux, il va falloir s'y familiariser et coder avec. C'est déjà bon d'y avoir été sensibilisé.
Et même si de petites boites n'ont pas encore de design pattern dans leur code, il pourrait être intéressant de réfléchir à des patterns qui leur permettrait de gagner en rendement (rechercher les points faibles pour le développement et les combler par un pattern si possible).
Je te conseille vivement de te familiariser encore plus avec les plus connus (MVC, singleton, factory etc.)
Bonjour,
Sans dire qu'il soit indispensable de les utiliser en permanence il est cependant utile de savoir que cela existe car le rôle des design pattern est de te faire gagner du temps et de la qualité de code dans ton programme car ce sont des "réponses toute faites" à des problèmes fréquents.
Par exemple, si tu fais un singleton n'importe comment tu peux te retrouver avec des problèmes d'accès concurrent et avoir plusieurs instances de la même classe quand tu n'en voulais qu'un...
Mais au final cela relève souvent du bon sens et parfois tu utiliseras un design pattern sans savoir que c'en est un. Ci-dessous le code d'une stratégie qui choisit l'implémentation TreeSet ou HashSet selon si on veut le Set résultat trié ou non.
Sans dire qu'il soit indispensable de les utiliser en permanence il est cependant utile de savoir que cela existe car le rôle des design pattern est de te faire gagner du temps et de la qualité de code dans ton programme car ce sont des "réponses toute faites" à des problèmes fréquents.
Par exemple, si tu fais un singleton n'importe comment tu peux te retrouver avec des problèmes d'accès concurrent et avoir plusieurs instances de la même classe quand tu n'en voulais qu'un...
Mais au final cela relève souvent du bon sens et parfois tu utiliseras un design pattern sans savoir que c'en est un. Ci-dessous le code d'une stratégie qui choisit l'implémentation TreeSet ou HashSet selon si on veut le Set résultat trié ou non.
public <E> Set<E> getSet(Collection<E> coll, boolean isSorted) { return isSorted ? new TreeSet(coll) : new HashSet(coll); }
--
Un design pattern n'améliore pas le programme, uniquement le code.
Si ton programme fonctionne en v1 rajouter des design pattern est inutile en v2, d'une part c'est un investissement qui consiste plus à moins à tout refaire, d'autre part c'est un risque de régression.
En revanche si ton programme plante en v1 avoir eu une conception cohérente (avec ou sans design pattern) permet de faire une maintenance plus efficace en v2. Ce qu'il faut éviter c'est un code fouillis.
Les design pattern aident en partie à résoudre des problèmes courant, mais une méthodologie dans la conception de l'application est encore plus important.