Kody Rabatowe

Kolejny Bounded Context (kontekst związany lub granice kontekstu) został przeze mnie opisany w Event Storming Design Level. Są to kody rabatowe.

Obsługa reklamacji

Została dodana jedna sub-domena „Obsługa reklamacji”, nijak mi to nie pasowało zestawiać z generowaniem kodów rabatowych. Uznałem, że kody rabatowe mogą być nie tylko generowane na podstawie reklamacji ale również z innych pobudek.

Generowanie kodów rabatowych

Generowanie kodów rabatowych być może będzie ukryte w jakieś zewnętrznej funkcjonalności.

Definicja rabatów

Definicja rabatów składa się z dwóch etapów:

  1. Ustalenie reguł rabatu.
  2. Ustalenie typu rabatu.

Nie umiałem się zdecydować co pierwsze, potencjalne problemy wyjdą w „praniu”.

Wykorzystanie kodów rabatowych

Ten proces również składa się z dwóch kroków:

  1. Sprawdzenie samego kodu i jego poprawności.
  2. Porównanie wpisanego rabatu z kwotą zamówienia.

Punkt drugi rzuca nie co inteligencji na „płytki” temat kodów rabatowych.

Kolejny krok …. kod.

Programowanie za pomocą testów

Deklaracje klasy  „Reguły rabatów” odpowiada za stworzenie definicji (reguł) rabatów oraz ustalenie typu czyli rabat procentowy lub wartościowy.  Konkretną definicje rabatu można stworzyć (dodać) lecz nie da się modyfikować.

Definicje rabatów

Po utworzeniu klasy spełniającej zdarzenia stworzona została klasa przedstawiająca konkretną strukturę.

Definicje interfejsów odpowiadającego za logikę

 

Struktura definicji rabatu

Zgodnie z TDD na początku testy potem kod.

Deklaracje testów:

Przed przystąpieniem do kodowania sub-domeny odpowiedzialnej za generowanie i wysyłanie kodów rabatowych, byznes jeszcze raz spojrzał na event storming i zasugerował zmiany. Zmiany opisane w drugiej części.

Linki:


1 Komentarz

Fred · Marzec 10, 2020 o 9:33 am

Co to K$#*@ jest?

Możliwość dodawania komentarzy nie jest dostępna.