Моделирование подмножества выборок в OOP - PullRequest
1 голос
/ 09 января 2020

Если у меня есть объект домена с именем Item и элементы могут иметь одну или несколько Category ассоциаций, должна ли доступна , но невыбранные категории быть частью совокупности Item? Например, вместо

class Item  {
  Set<Category> categories // selected categories, a subset of all available
}  

было бы лучше смоделировать отношения как:

class Item  {
  Set<Category> availableCategories
  Set<Category> selectedCategories
}

или даже обобщить концепцию выбора одного или нескольких элементов из множества:

class Item {
  CategoryCollection categories
}

class CategoryCollection { // could use generics to further abstract
  Set<Category> available
  Set<Category> selected
}
...