Sono ripresi oggi gli appuntamenti all’ITI F.Viola / Marchesini di Rovigo di Agile@School dopo le vacanze: siamo al sesto episodio su dieci. Come ripromesso negli episodi precedenti abbiamo ripreso in mano dei principi Agile/DevOps che negli ultimi incontri erano stati parcheggiati in favore di approfondimenti tecnologici su Xamarin Forms.
This is the last blog post about the SOLID principles in object-oriented programming and we talk about the Dependency Inversion Principle (DIP).
The principle states:
A. High-level modules should not depend on low-level modules. Both should depend on abstractions.
B. Abstractions should not depend on details. Details should depend on abstractions.
This post continues the analisys of the SOLID principles and it’s about the Interface Segregration Principle (ISP).
The interface-segregation principle (ISP) states that no client should be forced to depend on methods it does not use.
SOLID is a common acronym in the software development world. It’s useful to remeber five best practices to design classes in a object oriented language. It means:
|SRP||Single Responsability Principle||A class should have only a single responsability.|
|OCP||Open Closed Principle||Software entities should be open for extension but closed for modification.|
|LSP||Liskov Substitution Principle||Objects in a program should be replaceable with instances of theri subtypes without altering the correctness of that program.|
|ISP||Interface Segregation Principle||Many client-specific interfaces are better than one general purpose-interface.|
|DIP||Dependency Injection Principle||
One should depend upon abstractions, not concretions.
These concepts are easy to understand when we read them, but what does it mean to apply them in our daily coding activities? What do we have to do?
In the next posts we’ll go through each concept with coding examples because as someone much smarter than me said:
Tell me and I’ll foget, show me and I might remember. Involve me and I will remember. – Confucius