LLD ou conception de bas niveau est un processus de conception au niveau des composants qui suit un processus de raffinement étape par étape. L’entrée de LLD est HLD.

Qu'est-ce que la conception de bas niveau ou LLDn
Sujets importants pour la conception de bas niveau (LLD)
- Qu'est-ce que la conception de bas niveau (LLD) ?
- En quoi le LLD est-il différent du HLD
- Comment former du LLD à partir de HLD ?
- Feuille de route pour la conception de bas niveau
Qu'est-ce que la conception de bas niveau (LLD) ?
LLD, ou Low-Level Design, est une phase du processus de développement logiciel où les composants détaillés du système et leurs interactions sont spécifiés. Cela implique de convertir la conception de haut niveau en un plan plus détaillé, abordant des algorithmes, des structures de données et des interfaces spécifiques. LLD sert de guide aux développeurs lors du codage, garantissant la mise en œuvre précise et efficace des fonctionnalités du système. LLD décrit les diagrammes de classes à l'aide de méthodes et de relations entre les classes et les spécifications du programme.
Souviens-toi: La conception de bas niveau est également connue sous le nom de conception au niveau objet ou niveau micro ou conception détaillée .
Diagramme de classes en LLD
Dans ce diagramme, nous répertorions essentiellement toutes les entités pouvant faire partie des composants. Les diagrammes de classes sont créés car il devient plus facile pour le développeur de les convertir en code.
Par exemple:
User Service <-- User <--Profile <--ID>
En quoi le LLD est-il différent du HLD
Comme étudié, Conception de haut niveau ou HLD est une conception générale de système dans laquelle nous faisons des compromis entre différents cadres, composants et différentes bases de données et nous choisissons le meilleur en tenant compte des besoins de l'entreprise et de la manière dont le système devrait fonctionner, à la fois en termes d'aspects fonctionnels et non fonctionnels. Ici, nous définissons les composants et comment ces composants communiqueront entre eux. Par conséquent, ici, nous nous soucions des éléments génériques suivants et ne nous soucions pas du code.
- Sélection de composants, plateformes et différents outils.
- Conception de base de données.
- Brève description des relations entre les services et les modules.
Comment former du LLD à partir de HLD ?
Comme étudié ci-dessus, l'entrée pour la conception de bas niveau (LLD) est HLD. Ici, chez LLD, nous nous occupons de l'apparence de nos composants, de la structure possédée par les différentes entités et de la façon dont les différentes entités auront leur responsabilité (opérations prises en charge). Pour cette conversion, nous utilisons Diagrammes UML (Unified Modeling Language) . En ajoutant à ces diagrammes que nous utilisons Principes de la POO et Des principes SOLIDES lors de la conception. Par conséquent, en utilisant ces 3 paradigmes, nous pouvons convertir n'importe quel HLD en LLD afin de le mettre en œuvre.
Feuille de route pour la conception de bas niveau
Afin de relier les concepts de LLD avec le code réel, laissez-nous comprendre comment concevoir n'importe quel diagramme de bas niveau, comprenons les étapes :

1. Principes orientés objet
Le besoin de l'utilisateur est traité en utilisant les concepts de programmation OOPS. Par conséquent, il est recommandé de bien maîtriser les concepts OOPS avant de commencer à concevoir un système de bas niveau. Concept de programmation orientée objet 4 piliers sont indispensables pour commencer à apprendre la conception de bas niveau et le programmeur doit très bien connaître ces 4 piliers, à savoir les suivants :
- Héritage
- encapsulation
- polymorphisme
- abstraction
Au sein du polymorphisme, nous devons être clairs sur le polymorphisme au moment de la compilation et au moment de l'exécution. Les programmeurs doivent être absolument clairs sur les concepts OOPS pour approfondir jusqu'aux classes et aux objets, car OOPS est la base sur laquelle repose le bas niveau sur tout système. Réussir la conception de bas niveau est « extrêmement subjectif » car nous devons utiliser ces concepts de manière optimale lors du codage pour construire un système de bas niveau via la mise en œuvre d'entités logicielles de codage (classes, fonctions, modules, etc.)
commentaire multiligne PowerShell
2. Processus d'analyse et de conception
Il s'agit d'une phase d'analyse qui constitue notre première étape au cours de laquelle nous transformons des problèmes du monde réel en problèmes du monde objet en utilisant les concepts OOPS et les principes SOLID.
3. Modèles de conception
Maintenant, l’implémentation de notre problème orienté objet ci-dessus est réalisée à l’aide de modèles de conception. Les modèles de conception sont des solutions réutilisables aux problèmes courants rencontrés dans la conception de logiciels. Ils fournissent une approche structurée de la conception en capturant les meilleures pratiques et les solutions éprouvées, facilitant ainsi le développement de logiciels évolutifs, maintenables et efficaces. Les modèles de conception aident à rationaliser le processus de développement, à promouvoir la réutilisation du code et à améliorer la qualité globale des systèmes logiciels.
Chaque modèle décrit un problème qui se produit à plusieurs reprises dans l'environnement, et leurs solutions peuvent être appliquées à plusieurs reprises sans redondance.
Pourquoi y a-t-il besoin de modèles de conception ?
Ces problèmes se sont produits à maintes reprises et c'est pour cela que ces solutions ont été présentées. Ces problèmes ont été affrontés et résolus par des concepteurs experts dans le monde de la programmation et les solutions sont robustes dans le temps, économisant beaucoup de temps et d'énergie. Les problèmes complexes et classiques du monde du logiciel sont donc résolus par des solutions éprouvées.
Conseil: Il est fortement recommandé d'avoir une bonne compréhension des modèles de conception courants pour avoir une bonne maîtrise de la conception de bas niveau.
chaîne comparer java
Différents types de modèles de conception
Il existe de nombreux types de modèles de conception. Discutons de 4 types de modèles de conception largement utilisés dans le monde :
- Modèle de conception d'usine
- Modèle d'usine abstraite
- Modèle Singleton
- Modèle d'observateur
Il est également recommandé d'étudier les 5 modèles de conception ci-dessous car ils sont moins requis, mais il est recommandé d'apprendre pour comprendre les bases des modèles de conception.
- Modèle de constructeur
- Modèle de chaîne de responsabilité
- Modèle d'adaptateur
- Modèle de façade
- Modèle de poids mouche
4. Diagramme UML
Il existe 2 types de diagrammes UML :
- Diagramme UML structurel : Ces types de diagrammes définissent essentiellement la façon dont les différentes entités et objets seront structurés et définissent la relation entre eux. Ils sont utiles pour représenter la façon dont les composants apparaîtront par rapport à la structure.
- Diagramme UML comportemental : Ces types de diagrammes définissent essentiellement les différentes opérations qu’ils prennent en charge. Ici, différents UML comportementaux présentent différents comportements de
Conseil: Les diagrammes UML importants fréquemment utilisés par les développeurs sont les suivants :
- Diagramme de classes depuis Diagramme UML structurel
- Séquence , Cas d'utilisation et Activité à partir du diagramme UML comportemental.
5. Principes SOLIDES
Il s'agit d'un ensemble de 5 principes (règles) qui sont strictement suivis conformément aux exigences du système ou aux exigences d'une conception optimale.
Afin d'écrire du code évolutif, flexible, maintenable et réutilisable :
- Principe de responsabilité unique (SRP)
- Principe ouvert-fermé (OCP)
- Principe de substitution de Liskov (LSP)
- Principe de ségrégation d'interface (ISP)
- Principe d'inversion de dépendance (DIP)
Il est important de garder à l’esprit que les principes SOLID ne sont que des lignes directrices et non des règles strictes à suivre. La clé est de trouver un équilibre entre le respect de ces principes et la prise en compte des besoins et contraintes spécifiques de votre entreprise.