Utilizzo di oggetti business con ID composito da un modulo diverso

0

Abbiamo due moduli: D e S. S ha un'interfaccia del servizio Web, che viene utilizzata da D.

La responsabilità di S è la gestione di un dominio di oggetti contenuti in una struttura simile a una cartella. Quindi, contiene un metodo come: object Get(Path path) , dove Path DTO rappresenta una collezione di stringhe, che sono componenti di un percorso (cioè per ottenere un oggetto memorizzato in /x/y/z si chiama Get con path contenente un array ['x', 'y' ,'z'] ). Concettualmente il percorso è un identificatore di un oggetto.

Una delle responsabilità di D è presentare i grafici con i dati acquisiti da alcuni oggetti di S. D consente agli utenti di scegliere l'oggetto S desiderato utilizzando una vista di navigazione dell'albero. In modo efficace, un utente sceglie un percorso, che è un "indirizzo" dal quale l'oggetto di S deve essere recuperato da S.

Il problema è che non vogliamo che D abbia "array di stringhe" galleggianti attorno ad esso.

Tuttavia, non vogliamo anche che D capisca come funziona il percorso (cioè quale sia il separatore, che i componenti del percorso vuoti non siano consentiti, che un separatore principale debba partire da root, ecc.) in modo efficace duplicando la logica di S .

Inoltre, non vogliamo avere una dipendenza da D a S più potente del servizio Web, perché questo è uno dei punti del servizio Web.

Ovviamente abbiamo qualche altra idea, ma non siamo sicuri di nessuno di questi.

    
posta BartoszKP 27.01.2017 - 09:53
fonte

1 risposta

1

In qualche modo vi contraddicono affermando che D usa un percorso per interrogare su S ma non volete che D conosca i percorsi.

Non puoi semplicemente interfacciare intorno a un identificatore dell'oggetto a cui conduce il percorso? Dove memorizzi qualcosa non significa necessariamente come lo fai riferimento o lo identifichi?

La mia risposta sarebbe assegnare un ID. Lascia che S trovi il percorso se necessario senza che D lo sappia.

    
risposta data 27.01.2017 - 10:55
fonte