Aide En Informatique
Latest Posts:

Design Pattern : Comprendre le principe S.O.L.I.D
Design Pattern : Comprendre le principe S.O.L.I.D

Lien recommandé à lire dans ce meme blog et sur la meme thematique : https://itinnovdesign.com/cest-quoi-le-design-pattern-dans-le-monde-du-coding

Ecoutez les amis, on ne peut pas devenir un excellent developpeur si on ne maitrise pas les design pattern, absolument non, d'ailleur c'est meme ça qui fait la difference entre les developpeurs, justement, le jour que vous comprendrez les design pattern et leur utilisation, vous serez au dessus des langages et des technologies et vous pourrez travailler dans plusieurs langages et plusieurs technologies à la fois car à la base tous ses langages et toutes ses technologies sont basés sur les meme design pattern et les comprendre est fondamentale si l'on veut devenir un bon developpeur.

Au debut du coding, c'est difficiles de comprendre son utilité et d'ailleur grace aux framework de tout genre, on applique certains design dans son code par contrainte du framework et on ne le sait meme pas du tout.

L'objectif de créer un logiciel est comme celui de construire une maison avec une très très bonne fondation qui pourra garantir à la maison une longue durée et une flexibilité dans le temps quand à sa restructuration et le changement de son design, un bon software doit avoir des fondations solides s'il veut survivre au changement, avoir beaucoup de flexibilité, etre performant, scalable et surtout modulable et testatble, pour parvenir à obtenir toutes ses caractéristiques, il faut absolument y appliquer des design pattern qui en fait sont des règles etablies et prouvées et verifiées par la communauté des developpeurs experimentés qui rendent votre code flexible, maintenable, structuré et pret à l'integration et au changement dans le temps, car rappellez vous toujours, l'informatique est dynamique et non statique et si on crée un logiciel qui ne peut pas évoluer avec le temps, on risque à chaque changement repartir toujours de zero, ce qui est vraiment inéficace, immaginez la suite Microsoft office(word, excel, powert oint, access etc..) à chaque changement de version de c ou C++ ou C# sur lesquel il est basé, il faut le réecrire de zero... c'est vraiment inpensable, imaginez facebook, à chaque nouvelle version de C, de PHP, de React etc.. il faut le réecrire completement, c'est impensable.. attention, si on n'applique pas de design pattern correctement dans ses logiciels, à chaque evolution du langage ou des technologies sur lequel il repose, il faudra tout ré-écrire de zero.. malheureusement quand on débute dans le coding, on écrit tout en désordre car on veut juste voir que ça fonctionne, on a une belle page web fait avec du beau css.. wow.. mais la fondation c'est une chose horrible à voir, mal écrit du coup dans 1 ans voir 2 ans, s'il faut ajouter une petite fonctionalité en plus, on commence à se remuer les meninges, puis on constate que mieux vaut repartir de zero... quel perte!! time is money.

Un code male écrit, c'est un code qui ne peut pas subir une mutation, qui ne peut pas evoluer dans le temps, le minimum absolut c'est d'appliquer le principe SOLID , si vous avez une fonction qui depasse dejà 100 lignes de codes, commencez à vous inquieter,cela signifit que vous etes entrain d'ecrire du mauvais code, on parle en anglais de "spaghetti code", seul en appliquant les design pattern, on ecrit du code evolutif.

C'est quoi le principe S.O.L.I.D

Le metier du developpeur est l'un des rares metiers au monde ou on a pas le droit de rester sans se mettre à jour, en bref c'est un metier ou on doit etre toujours entrain d'etudier, l'ecole ne finit jamais dans ce domaine et malheure à vous si vous abandonnez les recherches et la lecture et surtout chaque jours qui passe, vous devez toujours vous ameliorez par rapport à hier.

Quand on débute en coding, on écrit presque toujours du mauvais mais alors du  très très mauvais code, d'ailleur malgré le paradigme à objet supporté par presque tous Les langages de programmation de nos jours, beaucoup ont de la peine à savoir utiliser la OOP/POO à bon escient dans leur code car beaucoup ne savent meme pas quand et comment il faut utiliser une classe ou créer une métode ou bien quand est ce qu'il faut dériver une classe d'une autre ou travailler avec une interface au lieu d'une classe concrète etc..meme les developpeurs experimentés parfois ne sortent pas du lot car comme j'ai dit, qui dort dans ses lauriers dans le coding ne va pas loin, on devient senior quand on applique et comprend les design pattern, quand on reuissit a écrire du code claire propre et flexible et pour y arriver dès le debut de votre avventure en coding il faut essayer tant bien que male d'appliquer le principe SOLID.

Dans ce principe SOLID, le S qui signifit Single Responsability. Vous devez au minimum essayer de le mettre en pratique dans votre code car ce principe demande simplement d'eviter d'ecrire un code qui fait plusieurs choses à la fois, si on commence à tapper du code et on se rend compte que c'est un mélange de plusieurs choses alors on est entrain d'ecrire du mauvais code, on doit la découper en plusieurs microfonctionalités à travers des classes et methodes et ainsi isoler ces fonctionalités ainsi votre code sera plus flexible et maintenable car s'il y a probleme dans une micro-fonctionalité, étant isolée et se trouvant dans sa propre classe ou fichier, on pourra facilement l'indentifier ou individualisé ou completement le changer.

Le O du principe signifit Open/Close c'est à dire il faut écrire un code de maniere à éviter de le modifier chaque fois qu'il y a introduction d'une nouvelle fonctionalité, si a chaque fois que le client demande d'ajouter une nouvelle fonctionalité cela vous amene a modifier completement votre code existant alors vous l'avez mal ecrit ou implementer, on doit pouvoir etre à mesure d'ajouter des fonctionalités dans un code existant sans le modifier donc Open for extension and close to modification.

Ces deux premieres lettres du principe SOLID c'est le minimum que chaque debutant doit se battre pour l'appliquer au debut de son avventure dans le coding..les autres lettres on s'y attele avec le temps.

Parlons en de certains Pattern juste pour vous mettre de l'eau à la bouche:

Pattern Singleton: c'est ce pattern qui permet d'eviter d'instancié le meme objet plusieurs fois dans le meme code et inutilement, declaré une variable qui doit contenir un objet et l'instancié coute énormement en mémoire si l'objet est grosse (par exemple un objet qui contient la connession à une base de donnée), si on declare et instancie le meme objet de manière eronnée sur plusieurs places en desordre, on risque d'avoir une fuite de memoire dans son code (memory leak en anglais), le pattern singleton permet justement de créer une seule instance d'un objet lourd qui va servire durant toute votre application pour eviter de creer des objets inutiles.. bref tous les patterns enumées, j'ai parlé de cela dans mes pages.

Je vous laisse quelques liens utiles et pratiques pour voir comment on applique du S.O.L.I.D dans plusieurs langages de coding

Des questions?

NB: SOLID en php

https://accesto.com/blog/solid-php-solid-principles-in-php/

SOLID en c#

https://www.educative.io/blog/solid-principles-oop-c-sharp

SOLID in Java

https://www.educative.io/answers/what-are-the-solid-principles-in-java

SOLID javascript

https://hackernoon.com/understanding-solid-principles-in-javascript-w1cx3yrv

SOLID PYTHON

https://blog.damavis.com/en/solid-principles-illustrated-in-simple-python-examples/

Happy Coding


Author: admin
16.12.2022, 09:22
Category: Coding
Comments: 1
Views: 733
-

Share

Comments (1)
redoStext
redoStext Guest

buying cialis generic For others, you ll get a bill from the lab that did the test, and you ll need to pay the lab

01.04.2023, 05:35


Leave A Comment
processing...