Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Models, Modules, and Microservices

Models, Modules, and Microservices

Talk last held on W-JAX 2019

Henning Schwentner

November 05, 2019
Tweet

More Decks by Henning Schwentner

Other Decks in Programming

Transcript

  1. CUSTOMER TELLS WISH FOR 1 SALESPERSON SIGNS TO GIVES FOR

    CONTRACT 3 RISIK MANAGER CONTRACT PASSES ON TO 4 CONTRACT VOTES CHECKS CALCULATES 5 6 7 CALCU- LATES TO 8 2 CAR CREDIT RATING INSTALLMENT CAR RESALE VALUE CONTRACT
  2. ?

  3. ?

  4. ?

  5. CUSTOMER TELLS WISH FOR 1 SALES-PERSON SIGNS TO GIVES FOR

    CONTRACT 3 RISIK MANAGER CONTRACT PASSES ON TO 4 CONTRACT VOTES CHECKS CALCULATES 5 6 7 CALCU- LATES TO 8 2 CAR CREDIT RATING INSTALLMENT CAR RESALE VALUE CONTRACT SALES RISK MANAGMENT
  6. namespace Leasingninja.Sales { class LeasingContract { /*...*/ } } namespace

    Leasingninja.Riskmanagement; { class LeasingContract { /*...*/ } }
  7. @hschwentner namespace Leasingninja.Sales.Domain { [Entity] internal class LeasingContract { /*...*/

    } } namespace Leasingninja.Sales { [DomainEvent] public class ContractSigned { /*...*/ } }
  8. <?php namespace Leasingninja\Sales; class LeasingContract { /*...*/ } > <?php

    namespace Leasingninja\Riskmanagement; class LeasingContract { /*...*/ } >
  9. Fallacies of distributed computing: The network is reliable. Latency is

    zero. Bandwidth is infinite. The network is secure. Topology doesn't change. There is one administrator. Transport cost is zero. The network is homogeneous.
  10. 1) How should it be? 2) How is it? 3)

    How to move the “is” to the “ideal”? RISK MANAGE- MENT SALES
  11. 1) How should it be? 1) Collaborative Modelling 2) “ideal”

    context map 2) How is it? 1) Architecture Analysis 2) As-is context map 3) How to move the “is” to the “ideal”? 1) Extract a supporting domain to learn 2) Then extract core(s)
  12. <<Entity>> LeasingContract sign() vote() SALES RISK MANAGEMENT <<Entity>> LeasingContract sign()

    vote() BIG BALL OF MUD <<Entity>> LeasingContract sign() vote()
  13. “Organizations which design systems are constrained to produce designs which

    are copies of the communication structures of these organizations.” Melvin Conway
  14. Melvin Conway (1967) “Organizations which design systems are constrained to

    produce designs which are copies of the communication structures of these organizations.”
  15. “The organization of the software and the organization of the

    software team will be congruent.” Eric Raymond
  16. “If you have four groups working on a compiler, you'll

    get a 4-pass compiler.” Eric Raymond
  17. 15$ online: leanpub.com/domainstorytelling Frag mich nach Deiner Kopie Einführung mit

    allem was man wissen muss Überblick Rabatt! https://leanpub.com/domainstorytelling/c/wjax2019