Usando coleções/contêineres/catálogos em modelos de domínio
-
26-09-2019 - |
Pergunta
Digamos que eu queira modelar um cinema. O cinema terá alguns quartos (por exemplo, 7), onde os filmes estão sendo reproduzidos.
Eu me pergunto como devo projetar o modelo de domínio para esse cenário.
- Deveria o
Cinema
Conceito de classe tem uma associação direta com os 7 quartos?TEXTO DE ALT HTTP://dl.dropbox.com/u/6187267/shooterpics/nocatalog.jpg - Deveria o
Cinema
O conceito de classe tem uma associação com um catálogo dos 7 quartos?TEXTO DE ALT HTTP://dl.dropbox.com/u/6187267/shooterpics/catalog.jpg
Por quê?
Estou tendo problemas para entender por que, em alguns lugares, vejo o primeiro caso e, em alguns outros, vejo algo como o segundo caso.
Se, em vez de quartos, eu queria descrever o relacionamento entre cinema e:
- Ingressos para vender (hoje).
- Ingressos já vendidos (hoje)
- Clientes no banco de dados de cinema
- O conjunto de horas em que há filmes sendo exibidos em uma determinada sala no cinema.
- O conjunto de lugares em que você pode sentar em uma sala no cinema.
Devo usar catálogos, devo conectá -los diretamente ao Cinema
conceito com uma multiplicidade de * no alvo?
Obrigado
Solução
Qual é o papel do catálogo da sala?
Ele tem outros atributos/operações ou está atuando apenas como um recipiente para salas?
Você pode prender a criação de vários catálogos de salas associados e durante a vida das instâncias do cinema?
O tipo de catálogo de quartos parece mais como algo que você veria em uma camada de serviço e não em um modelo de domínio.
Se não estiver contribuindo estrutural ou comportamentalmente, provavelmente o abate e seguiria uma associação simples.
Outras dicas
Não existe um design correto ou um design errado no setor de desenvolvimento de software. Você pode usar o primeiro ou o segundo método (ou seja, você pode usar o catálogo ou conectá -los diretamente ao cinema). Mas é importante que você possa justificar seu design.