Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Tutti i nostri aggregati sono sbagliati (K-Lab #3, 2017)

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 24 Publicité

Tutti i nostri aggregati sono sbagliati (K-Lab #3, 2017)

Télécharger pour lire hors ligne

Inizia sempre tutto bene, il requisito è semplice e l'implementazione procede senza intoppi. Poi i requisiti aumentano e ci ritroviamo con una strana sensazione allo stomaco e con la necessità di introdurre alchimie tecnologiche che non ci piacciono, ma non sappiamo perché. Prenderemo una funzionalità tanto semplice, quanto usata, come il carrello di un e-commerce e proveremo a capire se è veramente così semplice. Guarderemo il problema tecnico che vogliamo risolvere e poi sposteremo l'attenzione sui requisiti di business. Requisiti che una volta compresi a fondo ci porteranno a capire quali sono le vere responsabilità del dominio.

Inizia sempre tutto bene, il requisito è semplice e l'implementazione procede senza intoppi. Poi i requisiti aumentano e ci ritroviamo con una strana sensazione allo stomaco e con la necessità di introdurre alchimie tecnologiche che non ci piacciono, ma non sappiamo perché. Prenderemo una funzionalità tanto semplice, quanto usata, come il carrello di un e-commerce e proveremo a capire se è veramente così semplice. Guarderemo il problema tecnico che vogliamo risolvere e poi sposteremo l'attenzione sui requisiti di business. Requisiti che una volta compresi a fondo ci porteranno a capire quali sono le vere responsabilità del dominio.

Publicité
Publicité

Plus De Contenu Connexe

Similaire à Tutti i nostri aggregati sono sbagliati (K-Lab #3, 2017) (20)

Plus par Mauro Servienti (20)

Publicité

Plus récents (20)

Tutti i nostri aggregati sono sbagliati (K-Lab #3, 2017)

  1. 1. Tutti i nostri aggregati sono sbagliati Ovvero quando confondiamo accoppiamento e coesione
  2. 2. Il carrello della spesa In apparenza tanto banale
  3. 3. Il carrello della spesa
  4. 4. Il mio fido porta-banana
  5. 5. Le informazioni chiave
  6. 6. Un perfetto aggregato Data & Behavior
  7. 7. Un perfetto aggregato
  8. 8. Requisiti di business Mauro Servienti Trouble-solver @ Particular Software mauro.servienti@particular.net @mauroservienti //blogs.ugidotnet.org/topics
  9. 9. Maledetti requisiti di business
  10. 10. Il nostro «perfetto» aggregato…. Availability from Warehouse New Price from Sales
  11. 11. Il nostro «perfetto» aggregato…. Warehouse Sales Shipping Marketing Suppliers ! !
  12. 12. in una parola accoppiamento
  13. 13. a prescindere da come lo fate
  14. 14. Rich domain model (DDD) It's focused on behaviors and businesses rules. Data it's just an effect of those.
  15. 15. Concentratevi su chi scrive e non su chi legge
  16. 16. Torniamo al carrello
  17. 17. AddItemToCartCommand - CartId - StockItemId ShoppingCart Sales ItemAddedToCart - CartItemId - StockItemId
  18. 18. Il carrello •Il carrello è un processo •Una «semplice» macchina a stati •I servizi coinvolti sono coesi, non accoppiati
  19. 19. …e la quantità?
  20. 20. …e la quantità?
  21. 21. …e la quantità? ChangeQuantity - CartItemId - Quantity API Gateway Shipping Sales ChangeQuantity - CartItemId - Quantity ChangeQuantity - CartItemId - Quantity Shipping Sales - CartTotalChanged - …. - AvailableShippingTypesChanged - EligibilityForFreeShippingChanged - ….
  22. 22. Concludendo •Attenti all’accoppiamento, ma non odiatelo •Abbracciamo la coesione, è nostra amica •Concentriamoci su chi scrive, non chi legge
  23. 23. service boundaries
  24. 24. Grazie! Mauro Servienti Trouble-solver @ Particular Software mauro.servienti@particular.net @mauroservienti //blogs.ugidotnet.org/topics

×