I principi S.O.L.I.D. – Conclusioni

Siamo giunti al termine degli articoli legati ai principi S.O.L.I.D.

Riassumendo, questi principi sono molto utili durante la programmazione orientata agli oggetti (ODD). Sono stati enunciati da Robert Martin (conosciuto anche come zio Bob) e sono delle linee guida per lo sviluppo ed il refactoring di codice.

Continua a leggere I principi S.O.L.I.D. – Conclusioni

I principi S.O.L.I.D – DIP

L’ultimo principio S.O.L.I.D. è il  Dependency Inversion Principle (D).

Questo principio rappresenta la separazione tra i moduli/classi di alto livello rispetto ai moduli/classi di basso livello. In pratica, tutto dovrebbe dipendere da astrazioni e non dalle loro implementazioni.

Possiamo considerare i metodi/classi di basso livello come la parte core delle nostre applicazioni: si occupano di effettuare, ad esempio,  letture/scrittura su database, accesso ai dati e persistenza su file. I moduli/classi di alto livello implementano la parte di Business Logic, ovvero la logica dell’applicazione. Continua a leggere I principi S.O.L.I.D – DIP

I principi S.O.L.I.D. – ISP

Interface Segregation Principle (ISP):

Ogni client non deve implementare interfacce che non usa. Invece di strutturare i moduli implementando un’unica interfaccia, è preferibile organizzare il nostro progetto con interfacce separate (e quindi moduli separati).

Come per le classi (dal principio SRP visto in precedenza) anche le interfacce dovrebbero essere definite per specifiche responsabilità. Quando una classe non necessità di una specifica funzionalità, non è necessario implementarla. Maggiore è il numero di metodi definiti all’interno di un’interfaccia, e maggiore sarà la probabilità che non siano utilizzati. Continua a leggere I principi S.O.L.I.D. – ISP

Html 5.2 – Specifiche ufficiali

Alcuni giorni fa sono state rilasciate le specifiche ufficiali di HTML 5.2 (da parte del W3C). Le nuove specifiche tengono conto delle nuove esigenze del mondo del web, in particolare le transazioni in denaro e la protezione dei dati personali.

L’annuncio è stato pubblicato in un post direttamente dal team di lavoro:

“The HTML 5.2 specification defines the 5th major version, second minor revision of the core language of the World Wide Web: the Hypertext Markup Language (HTML). In this version, new features continue to be introduced to help Web application authors, new elements continue to be introduced based on research into prevailing authoring practices, and special attention continues to be given to defining clear conformance criteria for user agents in an effort to improve interoperability,”

Continua a leggere Html 5.2 – Specifiche ufficiali

I principi S.O.L.I.D. – LSP

Il terzo principio S.O.L.I.D. riporta: “You should be able to use any derived class instead of a parent class and have it behave in the same manner without modification“.

Si tratta un’estensione del secondo principio (OSP), e implica la necessità di estendere le classi base senza modificarne il loro comportamento originale.

Una soluzione possibile per poter soddisfare questo principio, è quella di effettuare refactoring.