Abbiamo questo bean con due proprietà:
ContainerImage
+ name (final, not null)
+ id (null)
Poi c'è questo metodo:
ContainerImage create(ContainerImage containerImage);
Riceve ContainerImage con name e senza id ; e restituisce nuovo ContainerImage con id popolato, come risultato dell'operazione di underlaying.
Per me, questo ha un cattivo odore; perché l'input semplicemente non usa il id , quindi perché dovrei passarlo? Inoltre, non cambia l'oggetto in entrata, che va anche bene, ma qualcuno potrebbe aggiungere la modifica, che non voglio.
La mia proposta è di avere un'interfaccia di sola lettura per ContainerImage che non richiede il id , che verrà utilizzato per l'argomento di input, ad esempio:
ContainerImageData
+ name
Questo ha senso per te?
P.S. Sto parlando di Java ora, ma la domanda è piuttosto generale.
Modifica
Il metodo create crea immagini di finestra mobile, quindi è un metodo che funziona con l'API remota della finestra mobile, in più potrebbe fare alcune cose da parte. Ma mi piacerebbe pensare a questa domanda senza sapere cosa realmente fa, solo dal lato API.