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.