Abbiamo recentemente parlato di accoppiamento. Abbiamo evidenziato come l’accoppiamento non sia necessariamente male di per se.

Malintesi…

Un secondo errore che tendiamo a fare è traslare il concetto di accoppiamento, e il male che riteniamo porti con se, ciecamente nel mondo dei servizi, o se preferite dei Microservices.

Il fatto che riteniamo l’accoppiamento il male ci porta a fare di tutto per rimuoverlo. Il fatto che interpretiamo male il concetto di accoppiamento ci porta a cercare di rimuovere, o peggio combattere, qualcosa che non dovremmo proprio evitare, ma piuttosto accettare e abbracciare.

Coesione

Immaginate il processo di acquisto che il vostro negozio online vi mette a disposizione, tipicamente è così composto:

  1. Scelgo dal catalogo
  2. Aggiungo al carrello
  3. Inizio il checkout
  4. Pago
  5. Scelgo il tipo di spedizione

Posso togliere il punto 3, Il checkout?

Direi proprio di no. Il processo logico di acquisto è coeso. Tutti gli elementi elencati sono necessari perché io in quanto utente del sito possa beneficiare del processo stesso.

Allo stesso modo una domanda provocatoria che ci potremmo fare è: ha senso avere quei passaggi temporalmente disaccoppiati? E anche qui la risposta è probabilmente no.

Qualcosa in più

Se guardiamo più a fondo però possiamo cominciare ad intravvedere che c’è qualcosa in più che ci sta probabilmente sfuggendo, il pagamento (4) e la spedizione (5) sono forse i più evidenti, o se volgiamo quelli che puzzano di più.
Se ci pensate probabilmente stiamo guardando una delle tante facce di una strana medaglia. Dal punto di vista del processo di checkout quello che mi interessa fare è avviare il processo di pagamento, o avviare il processo di spedizione, non necessariamente fisicamente eseguire il pagamento e/o attendere che la spedizione sia avvenuta.

Quindi probabilmente un “Payment Service” in realtà non è uno?

Vogliamo discuterne insieme?

Se volete scoprire come va a finire e non volete aspettare troppo il prossimo 8 giugno a Fiorenzuola d’Arda parlerò proprio di accoppiamento e coesione.

Fatevi sotto :-)