У меня есть два объекта домена: Employee
и Team
. Как вы можете догадаться, у команды 0 ... * Employee
s. что правильно их моделировать?Каков правильный способ моделирования совокупных объектов?
вариант 1:
class Team{
List<Employee> members;
}
это может быть, самый интуитивный способ, но это означает, что, когда мне нужно только для отображения Team Infos, я должен загрузить много Employee
с, что является полностью отходы. может быть, я могу добавить немного ленивые нагрузки (может бросить прокси) механизм, но это принесет нам много сложностей
варианта 2:
class Team{
List<Long> memberIds;
}
эта опция не будет загружать слишком много ненужных Employee
сек, но может быть (Я не уверен) не хороший дизайн с точки зрения моделирования
вариант 3:
class Team{}
class Employee{
Team team;
}
в этой опции я могу запросить Team
' s Employee
s пользователем Employee
Недвижимость. Но я думаю, может быть (я не уверен), с точки зрения моделирования, Employee
не должен иметь знания о том, как она организована, а также Employee
является юридическим лицом, которое может жить без Team
Что вы думаете ребята?
первый один, и использовать 'set' вместо' list', если у вас нет порядка и повторять элементы – nachokk