100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached 4.2 TrustPilot
logo-home
Presentation

Présentation des principes SOLID

Rating
-
Sold
-
Pages
71
Uploaded on
21-10-2024
Written in
2023/2024

Les principes SOLID sont un ensemble de cinq règles de conception de logiciels qui visent à améliorer la qualité du code en rendant les systèmes plus modulaires, maintenables et évolutifs. Le **Single Responsibility Principle (SRP)** stipule qu'une classe doit avoir une seule responsabilité, facilitant ainsi sa maintenance. Le **Open/Closed Principle (OCP)** suggère que les entités doivent être ouvertes à l'extension mais fermées à la modification, permettant d'ajouter des fonctionnalités sans altérer le code existant. Le **Liskov Substitution Principle (LSP)** exige que les objets dérivés puissent remplacer leurs classes de base sans altérer le comportement du programme. L'**Interface Segregation Principle (ISP)** préconise d'utiliser plusieurs interfaces spécifiques plutôt qu'une interface générale, évitant ainsi l'implémentation de méthodes inutilisées. Enfin, le **Dependency Inversion Principle (DIP)** indique que les modules de haut niveau ne doivent pas dépendre des modules de bas niveau, mais des abstractions, ce qui réduit les dépendances et facilite les tests. En appliquant ces principes, les développeurs peuvent créer des systèmes plus flexibles et robustes.

Show more Read less
Institution
Course











Whoops! We can’t load your doc right now. Try again or contact support.

Written for

Institution
Study
Course

Document information

Uploaded on
October 21, 2024
Number of pages
71
Written in
2023/2024
Type
Presentation
Person
Unknown

Subjects

Content preview

Ecrire du code
S.O.L.I.D


Isabelle BLASQUEZ
@iblasquez

,Rappels des principes de Bases de l’Orienté O
Classe : Abstraction des caractéristiques communes à un ensemble d’ob
Une classe permet de créer des objets
qui communiquent entre eux par des messages.

Encapsulation : Protection de l’information contenue
dans un objet. Principe permettant de
regrouper les données et les routines
permettant de lire ou manipuler ces données.
En POO, le but de l’encapsulation est de masquer les attributs
méthodes afin de ne rendre disponible que le comportement sou

Héritage : Transmission des caractéristiques à ses descendants.
Mécanisme permettant, lors de la déclaration d’une nouvelle classe (fil
d’y inclure les caractéristiques d’une autre classe (mère).

Polymorphisme : du grec « qui peut prendre plusieurs formes »
Concept consistant à fournir une interface unique à des entités
pouvant avoir différents types.
→ polymorphisme d’héritage (redéfinition, spécialisation ou
→ polymorphisme ad hoc (surcharge ou overloading)
→ polymorphisme paramétrique (généricité ou template)
Image : https://www.crondose.com/2016/08/solid-development-dependency-inversion-principle/

,Good code ?




La tolérance au changement est un des fa
du développement logiciel
(la maintenance demandant souvent des efforts cro
au fil du temps et de l’évolution du logiciel)
Extraits : https://dev.to/0x13a/how-to-write-solid-code-that-doesnt-suck
http://blog.xebia.fr/2011/07/18/les-principes-solid/

, Bad code ?...
ou du moins 5 symptômes d’intolérance au change
Rigidité: Chaque changement cause une cascade de modifications dans les
modules dépendants (pelote de laine)


Fragilité: Tendance d’un logiciel à casser en plusieurs endroits à chaque
modification. (≠ avec la rigidité : des erreurs dans des parties inattendues).


Immobilisme: Incapacité d’un composant à pouvoir être réutilisé par
d’autres projets ou par des parties de lui même.
(en raison d’un fort couplage : trop de dépendances)

Viscosité: Plus facile de faire un contournement plutôt que de
respecter la conception qui a été pensée.
(plus facile de casser le design plutôt que de l’améliorer)

Opacité: par rapport à la lisibilité et simplicité de compréhension du code.
Extrait : http://blog.xebia.fr/2011/07/18/les-principes-solid/
A voir aussi (définitions en anglais) : http://www.fil.univ-lille1.fr/~routier/enseignement/licence/coo/cours/Principles_and_Patterns.pdf
https://marcosantadev.com/solid-principles-applied-swift/ , https://zeroturnaround.com/rebellabs/object-oriented-design-principles-and-the-5-ways-of-creating-solid-applications/ et
https://www.youtube.com/watch?v=GtZtQ2VFweA
$6.67
Get access to the full document:

100% satisfaction guarantee
Immediately available after payment
Both online and in PDF
No strings attached

Get to know the seller
Seller avatar
wiisteer

Get to know the seller

Seller avatar
wiisteer
Follow You need to be logged in order to follow users or courses
Sold
0
Member since
1 year
Number of followers
0
Documents
1
Last sold
-

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Frequently asked questions