Principi S.O.L.I.D.

“Cosa sono i principi SOLID? Riesci a spiegarmeli in maniera semplice?”

Questa domanda mi è stata posta alcuni giorni fa da uno programmatore con “esperienza”,che da alcuni anni sviluppa in .NET.

Bella domanda!

Tendenzialmente i programmatori (me compreso!) sono orientati alla scrittura di codice, non a pensare a cosa/come lo stanno scrivendo.
Questo tipo di approccio è un pò quello che arriva dal mondo della scuola, dove vengono insegnati i linguaggi di programmazione come Javascript, C# e Angular, ma non vengono affrontati i principi della buona programmazione.

Continua a leggere Principi S.O.L.I.D.

Angular Promise Vs Angular Observable

Spesso nella realizzazione di applicazioni Angular viene utilizzato un particolare tipo di variabile: gli Observable.

Un oggetto di questo tipo viene ritornato, ad esempio, utilizzando il servizio Http di Angular, che ha sostituito il servizio $http presente in Angular Js.

Entrambi consentono di gestire chiamate asincrone ma in modalità differente: $http utilizza un meccanismo basato sulle Promise, Http utilizza un meccanismo basato sugli Observable.

Continua a leggere Angular Promise Vs Angular Observable

Docker – Struttura

Gli elementi fondamentali della struttura di docker sono le immagini, i containers, i services e lo stack. Si possono considerare immagini e containers come l’equivalente di classi / istanze  utilizzate nei linguaggi di programmazione ad oggetti. Analogamente a quanto avviene per una classe che viene istanziata tramite la keyword new, anche le immagini sono “istanziate” utiilizando il comando docker run .  

Continua a leggere Docker – Struttura

Dependency Injection con Ninject

Riprendendo il post introduttivo alla dependency injection, sono numerosi i pacchetti in nuget che consentono di creare injection in maniera semplice. Ninject è un dependency injector open-source per .NET e vanta un numero piuttosto cosistente di scaricamenti ed installazioni.  Alcuni dei punti di forza che vengono enfatizzati dal team di sviluppo sono la semplicità e la facilità di utilizzo.

Nello sviluppo di applicazioni Web, in particolare MVC, l’utilizzo di un dependency injector consente di realizzare velocemente soluzioni “switchando” tra repository differenti. Questo significa che è possibile realizzare applicazioni con dati “demo” facilmente testabili e successivamente passare ai dati in produzione.

Continua a leggere Dependency Injection con Ninject

Outh2 – Il protocollo per l’autenticazione

Outh2 è un protocollo di comunicazione open, che può essere utilizzato nello sviluppo di applicazioni che necessitano di fornire un servizio di autenticazione. Outh2 è l’evoluzione del protocollo Outh ideato da Blaine Cook nel 2006, originariamente sviluppato come un’implementazione Twitter di OpenId come alternativa a competitors come  Google AuthSub, AOL OpenAuth, Yahoo BBAuth, Flickr API. Le specifiche del protocollo sono descritte dall’RFC 8252  .

Continua a leggere Outh2 – Il protocollo per l’autenticazione