際際滷

際際滷Share a Scribd company logo
SO LID
S .O. L.I .D.
Single Responsability

       Open-Close


         Liskov susbtitution


       Interface Segregation

  Dependency
  Inversion
SOLID principles
Every class should have a single
resposibility: it should have a single
purpouse in the system, and there should
be only one reason to change it.
                       Michael C. Feathers




                            http://www.鍖ickr.com/photos/webtreatsetc/4860504249/
Method
Package




          Class




                  http://www.鍖ickr.com/photos/webtreatsetc/4860504249/
Principle
... code should be open for extension but
closed to modi鍖cation ...it means ... we
just dont have to change code much to
add new features.
                        Michael C. Feathers




                             http://www.鍖ickr.com/photos/webtreatsetc/4860504249/
SOLID principles
Objects of subclasses should be
substitutable for objects of their
superclasses throgout our code. If they
arent we could have silent errors in our
code.
                          Michael C. Feathers




                              http://www.鍖ickr.com/photos/webtreatsetc/4860504249/
SOLID principles
When a class is large, rarely do all of its
clients use all of its methods ... we create
an interface for each of these groupings ...
helps as decrease dependency in the
system.
                           Michael C. Feathers




                               http://www.鍖ickr.com/photos/webtreatsetc/4860504249/
SOLID principles
Una clase no debe crear instancias de sus
colaboradores, debe tener inyecci坦n de
depencias por setters o constructor, esto
facilita los cambios futuros.

                                 Yo mismo :-)




                             http://www.鍖ickr.com/photos/webtreatsetc/4860504249/
Yeray Darias Camacho
@ydarias

More Related Content

Similar to SOLID principles (20)

PDF
960 grid psd
Raju Nag
PDF
WordPress Custom Fields and Metaboxes
Tech Liminal
PDF
Solid principles, Design Patterns, and Domain Driven Design
Irwansyah Irwansyah
PPT
Design patterns
mudabbirwarsi
PPT
Web 2. Tools Every Leader Should Have In Their Backpack
megormi
PPT
Self-modeling and self-reflection of E-learning communities
Zina Petrushyna
PDF
Andrii Sliusar "Module Architecture of React-Redux Applications"
LogeekNightUkraine
PPTX
Applied patterns in the project
Jan de Vries
PDF
Dependency Injection for PHP
mtoppa
PPTX
Rethinking Best Practices
floydophone
PPT
Asynchronous Messaging @DNUG Cologne, 07.04.2009
Sergey Shishkin
PPT
P Training Presentation
Gaurav Tyagi
PPTX
SOLID Principles of Refactoring Presentation - Inland Empire User Group
Adnan Masood
PDF
[IGC 2017] れ碁 - HTML5, 襦ろ, 蠏碁Μ螻 MMORPG feat. 襷る
螳 覩殊
PDF
Beyond Management: The Personal Learning Environment. Stephen Downes
Departament de Just鱈cia. Generalitat de Catalunya.
PDF
Finding harmony in web development
Christian Heilmann
PDF
Javascript Design Patterns
Lilia Sfaxi
PDF
Introduction to SOLID Principles
Ganesh Samarthyam
PDF
ascitconsultancy-scalable-javascript-application-architecture for ascitconsul...
Carmor Bass
960 grid psd
Raju Nag
WordPress Custom Fields and Metaboxes
Tech Liminal
Solid principles, Design Patterns, and Domain Driven Design
Irwansyah Irwansyah
Design patterns
mudabbirwarsi
Web 2. Tools Every Leader Should Have In Their Backpack
megormi
Self-modeling and self-reflection of E-learning communities
Zina Petrushyna
Andrii Sliusar "Module Architecture of React-Redux Applications"
LogeekNightUkraine
Applied patterns in the project
Jan de Vries
Dependency Injection for PHP
mtoppa
Rethinking Best Practices
floydophone
Asynchronous Messaging @DNUG Cologne, 07.04.2009
Sergey Shishkin
P Training Presentation
Gaurav Tyagi
SOLID Principles of Refactoring Presentation - Inland Empire User Group
Adnan Masood
[IGC 2017] れ碁 - HTML5, 襦ろ, 蠏碁Μ螻 MMORPG feat. 襷る
螳 覩殊
Beyond Management: The Personal Learning Environment. Stephen Downes
Departament de Just鱈cia. Generalitat de Catalunya.
Finding harmony in web development
Christian Heilmann
Javascript Design Patterns
Lilia Sfaxi
Introduction to SOLID Principles
Ganesh Samarthyam
ascitconsultancy-scalable-javascript-application-architecture for ascitconsul...
Carmor Bass

More from Yeray Darias (9)

PDF
Runnics at ProductHunt Madrid
Yeray Darias
PDF
Otogami at Tetuan Valley
Yeray Darias
PDF
Runnics en Betabeers Madrid
Yeray Darias
PDF
Agile and Scrum
Yeray Darias
PDF
Coffee Script
Yeray Darias
PDF
Introducci坦n a la arquitectura software
Yeray Darias
KEY
Scrum
Yeray Darias
KEY
Introducci坦n a jQuery
Yeray Darias
PDF
Integraci坦n Continua - TLP+i 2K10
Yeray Darias
Runnics at ProductHunt Madrid
Yeray Darias
Otogami at Tetuan Valley
Yeray Darias
Runnics en Betabeers Madrid
Yeray Darias
Agile and Scrum
Yeray Darias
Coffee Script
Yeray Darias
Introducci坦n a la arquitectura software
Yeray Darias
Scrum
Yeray Darias
Introducci坦n a jQuery
Yeray Darias
Integraci坦n Continua - TLP+i 2K10
Yeray Darias
Ad

Recently uploaded (20)

PDF
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
PDF
Scaling i.MX Applications Processors Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
PDF
How to Visualize the Spatio-Temporal Data Using CesiumJS
SANGHEE SHIN
DOCX
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
PPTX
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
PDF
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
PDF
My Journey from CAD to BIM: A True Underdog Story
Safe Software
PDF
Plugging AI into everything: Model Context Protocol Simplified.pdf
Abati Adewale
PDF
Automating the Geo-Referencing of Historic Aerial Photography in Flanders
Safe Software
PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
PDF
MPU+: A Transformative Solution for Next-Gen AI at the Edge, a Presentation...
Edge AI and Vision Alliance
PDF
Python Conference Singapore - 19 Jun 2025
ninefyi
PDF
LLM Search Readiness Audit - Dentsu x SEO Square - June 2025.pdf
Nick Samuel
PDF
The Growing Value and Application of FME & GenAI
Safe Software
PPTX
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
PPTX
Practical Applications of AI in Local Government
OnBoard
PPTX
01_Approach Cyber- DORA Incident Management.pptx
FinTech Belgium
PDF
From Chatbot to Destroyer of Endpoints - Can ChatGPT Automate EDR Bypasses (1...
Priyanka Aash
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
PDF
Open Source Milvus Vector Database v 2.6
Zilliz
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
Scaling i.MX Applications Processors Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
How to Visualize the Spatio-Temporal Data Using CesiumJS
SANGHEE SHIN
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
My Journey from CAD to BIM: A True Underdog Story
Safe Software
Plugging AI into everything: Model Context Protocol Simplified.pdf
Abati Adewale
Automating the Geo-Referencing of Historic Aerial Photography in Flanders
Safe Software
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
MPU+: A Transformative Solution for Next-Gen AI at the Edge, a Presentation...
Edge AI and Vision Alliance
Python Conference Singapore - 19 Jun 2025
ninefyi
LLM Search Readiness Audit - Dentsu x SEO Square - June 2025.pdf
Nick Samuel
The Growing Value and Application of FME & GenAI
Safe Software
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
Practical Applications of AI in Local Government
OnBoard
01_Approach Cyber- DORA Incident Management.pptx
FinTech Belgium
From Chatbot to Destroyer of Endpoints - Can ChatGPT Automate EDR Bypasses (1...
Priyanka Aash
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
Open Source Milvus Vector Database v 2.6
Zilliz
Ad

SOLID principles

  • 2. S .O. L.I .D.
  • 3. Single Responsability Open-Close Liskov susbtitution Interface Segregation Dependency Inversion
  • 5. Every class should have a single resposibility: it should have a single purpouse in the system, and there should be only one reason to change it. Michael C. Feathers http://www.鍖ickr.com/photos/webtreatsetc/4860504249/
  • 6. Method Package Class http://www.鍖ickr.com/photos/webtreatsetc/4860504249/
  • 8. ... code should be open for extension but closed to modi鍖cation ...it means ... we just dont have to change code much to add new features. Michael C. Feathers http://www.鍖ickr.com/photos/webtreatsetc/4860504249/
  • 10. Objects of subclasses should be substitutable for objects of their superclasses throgout our code. If they arent we could have silent errors in our code. Michael C. Feathers http://www.鍖ickr.com/photos/webtreatsetc/4860504249/
  • 12. When a class is large, rarely do all of its clients use all of its methods ... we create an interface for each of these groupings ... helps as decrease dependency in the system. Michael C. Feathers http://www.鍖ickr.com/photos/webtreatsetc/4860504249/
  • 14. Una clase no debe crear instancias de sus colaboradores, debe tener inyecci坦n de depencias por setters o constructor, esto facilita los cambios futuros. Yo mismo :-) http://www.鍖ickr.com/photos/webtreatsetc/4860504249/

Editor's Notes