Javascript e refactoring

Mi è capitato di mettere mano a codice javascript scritto qualche anno fa: mi sono accorto che l’utilizzo di Typescript ha cambiato profondamente il mio modo di programmare. Nel corso degli anni mi sono ricreduto sull’utilizzo di javascript che si è dimostrato affidabile e universale, ma sicuramente (almeno per me) inizialmente ha comportato non pochi problemi. L’introduzione di Typescript mi ha consentito di scrivere codice javascript imponendomi delle regole: l’adozione di classi, metodi e di un metodo di programmazione più rigoroso mi ha consentito di ottenere senza dubbio numerosi benefici.

Continua a leggere Javascript e refactoring

Interfacce custom e generics

Nell’articolo precedente abbiamo introdotto i generics.  In questo nuovo articolo introduciamo le interfacce generiche.

Nulla di particolarmente complesso, è sufficiente definire nel modo tradizionale l’interfaccia, indicando però un parametro generico:

Continua a leggere Interfacce custom e generics

I generics c#

I generics consentono di sviluppare parti di codice independenti dal tipo dei dati e trovano la loro naturale applicazione nel riuso del codice.

Un contenitore di oggetti generici è indipendente dal tipo utilizzato: gli oggetti generici consentono di scrivere codice una sola volta e di poterlo riutilizzare con tutte le tipologie di dato passato in ingresso.

In questo articolo descriveremo come implementare classi / metodi generici.

Quando si crea un’istanza di una classe generica è necessario indicare il tipo dell’oggetto che dovrà essere gestito: l’indicazione viene data utilizzando il segnaposto generico T.

Continua a leggere I generics c#

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