Non so se avere modelli di dominio con proprietà che non sempre sono impostate, è un qualche tipo di odore di codice o errore di progettazione. Ho messo un esempio:
Ho un'app che consente di leggere riviste su Internet utilizzando Rss. Per i modelli di dominio, utilizzo i casi di utilizzo. In breve ho:
- C'è una libreria di riviste.
- Puoi consultare il profilo della rivista.
- Puoi esplorare la rivista di notizie.
Per questo, ho estratto queste entità: biblioteca, rivista, profilo di una rivista, notizie di riviste.
Le mie classi sono:
class Magazine
private int id; // BD id row
private MagazineProfile magazineProfile;
private List<MagazineNews> news;
class MagazineProfile
private String title;
private String webUrl;
[...]
class MagazineNews
private String title;
private String body;
private Date pubDate;
[...]
In alcuni punti della mia app, esplorerò solo le riviste usando il loro profilo della rivista (mostrando un elenco di tutte le riviste), in altri punti esplorerò solo le notizie e in altre esplorerò le notizie e il profilo della rivista allo stesso tempo.
A seconda del caso, a volte, il mio oggetto magazine
avrà le proprietà magazineProfile
news
impostato o vuoto.
Quindi la mia domanda è, se questo progetto è un approccio di errore per avere proprietà che verranno stabilite in base alla finestra in cui l'utente sta navigando. Dovrei lavorare solo con gli oggetti che mi interessano, nel mio caso, magazineProfile
e news
?