Al momento sto iniziando un nuovo sottoprogetto dove farò:
- Recupera le informazioni dell'ordine dal nostro mainframe
- Salva le informazioni dell'ordine nel nostro database di app web
- Invia l'ordine come EDI (o D01b o D93a)
- Ricevi la risposta dell'ordine, i consigli di spedizione e i messaggi di fatturazione
- Fai tutti i tipi di cose divertenti con i set di dati risultanti.
Tuttavia, sto lottando con i miei progetti di classe iniziali.
Le informazioni sull'ordine saranno recuperate dal mainframe che risulterà in una classe "AOrder", questo non è un problema, non sono sicuro di come modellare questo oggetto locale in una stringa EDI.
Devo creare classi EDIOrder / EDIOrderResponse / etc con decoratori corrispondenti (EDIOrderD01BDecorator, EDIOrderD93ADecorator)? Ho bisogno di oggetti di costruzione o posso fare:
// $myOrder is instance of AOrder
$myOrder->toEDIOrder();
$decorator = new EDIOrderD01BDecorator($myOrder);
$edi = $decorator->getEDIString();
E dovrà funzionare anche nell'altro modo. Il seguente codice è un buon modo per gestire questo problema o dovrei farlo in modo diverso?
$ediString = $myEDIMessageBroker->fetch();
$ediOrderResponse = EDIOrderResponse::fromString($ediString);
Non sono così sicuro di come dovrei andare a progettare le classi e le interazioni tra di loro.
Grazie per aver letto e aiutato.