Charla conjunta con Daniel Vaqueiro sobre los principios SOLID y live coding dónde partimos de una feature real y funcional que no sigue los principios SOLID que vamos refactorizando con SOLID en mente.
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
PHPVigo #28 principios solid en la vida real
1.
2. Meetups
Insertar foto aquí
Daniel Vaqueiro. boardfy CTO
“Programming is a social activity.”
― Robert C. Martin
https://github.com/dvaqueiro
http://boardfy.com
@chimidea
3. Meetups
Insertar foto aquí
Altia Senior Developer
Disfrutando del desarrollo web
desde 1998.
https://rolandocaldas.com
@rolando_caldas
9. MeetupsMeetups
PHPVigo #28: Principios SOLID en la vida Real
Symptoms of Rotting Design
● Rigidity
Tendency for software to be difficult to change, even in
simple ways.
11. MeetupsMeetups
PHPVigo #28: Principios SOLID en la vida Real
Symptoms of Rotting Design
● Rigidity
● Fragility
Tendency of the software to break in many places every
time it is changed.
13. MeetupsMeetups
PHPVigo #28: Principios SOLID en la vida Real
Symptoms of Rotting Design
● Rigidity
● Fragility
● Immobility
Inability to reuse software from other projects or from parts
of the same project.
15. MeetupsMeetups
PHPVigo #28: Principios SOLID en la vida Real
Symptoms of Rotting Design
● Rigidity
● Fragility
● Immobility
● Viscosity
Viscosity of the design is high when the design preserving
methods are harder to employ than the hacks.
20. MeetupsMeetups
PHPVigo #28: Principios SOLID en la vida Real
SOLID Principles
● Single Responsibility Principle.
● Open Close Principle.
● Liskov Substitution Principle.
● Interface Segregation Principle.
● Dependency Inversion Principle.
22. MeetupsMeetups
PHPVigo #28: Principios SOLID en la vida Real
Open Close Principle.
Software entities (classes, modules, functions, etc.)
should be open for extension, but closed for
modification.
23. MeetupsMeetups
PHPVigo #28: Principios SOLID en la vida Real
Open Close Principle.
Software entities (classes, modules, functions, etc.)
should be open for extension, but closed for
modification.
You should be able to extend a classes behavior,
without modifying it.
25. MeetupsMeetups
PHPVigo #28: Principios SOLID en la vida Real
Interface Segregation Principle
Clients should not be forced to depend upon
interfaces that they do not use.
26. MeetupsMeetups
PHPVigo #28: Principios SOLID en la vida Real
Interface Segregation Principle
Clients should not be forced to depend upon
interfaces that they do not use.
Many client specific interfaces are better than one
general purpose interface.
27. MeetupsMeetups
PHPVigo #28: Principios SOLID en la vida Real
Dependency Inversion Principle
High level modules should not depend upon low
level modules. both should depend upon
abstractions.
28. MeetupsMeetups
PHPVigo #28: Principios SOLID en la vida Real
Dependency Inversion Principle
High level modules should not depend upon low
level modules. both should depend upon
abstractions.
Abstractions should not depend upon details.
details should depend upon abstractions.