Che cosa ne pensi di passare mappe senza nome alle API ( pacchetti, sistemi, adattatori ) esterne al dominio principale come in 1st Way di seguito?
Gli oggetti strongmente tipizzati si trovano all'interno dell'API del dominio e le regole aziendali li stanno utilizzando.
1st WAY:
Domain -> Web API -> Clients
Passes strongly-typed domain objects
-
Ogni volta che una richiesta proviene dall'API Web, richiede Dominio e Dominio passa gli oggetti dominio strongmente tipizzati ( mi piace:
[]SomeDomainObject
) all'API -
Quindi, l'API Web le trasforma in JSON e la risposta ai client
2nd WAY:
Domain -> Web API -> Clients
Passes property maps which loose their types
-
Ogni volta che una richiesta proviene dall'API Web, richiede a Dominio e Dominio di trasformare gli oggetti dominio strongmente tipizzati in mappe di proprietà ( come:
map[string][object]
) e li passa al API -
Quindi, l'API Web le trasforma in JSON e la risposta ai client
Nel 1o modo:
-
Quando gli oggetti del dominio o le regole cambiano, ciò può influire sull'API Web. Ad esempio: l'API Web deve adattarsi ai nuovi dati aggiunti agli oggetti dominio.
-
Quindi, la modifica nel dominio si riflette nelle modifiche nei servizi esterni a causa di
types
Nel 2o modo:
-
Il dominio controlla tutto. Ogni volta che gli oggetti del dominio o le regole cambiano, l'API Web risponde automaticamente con ciò che il dominio desidera.
-
Qualsiasi modifica nel dominio si riflette automaticamente sui client esterni, poiché non avranno bisogno di vedere le entità di dominio, vedranno solo le proprietà. E, può facilmente passarli ai client come vengono forniti dal dominio.
-
Il lato negativo è che l'API Web perderà la strong sicurezza del tipo degli oggetti Dominio e vedrà solo mappe di proprietà senza nome.