Я пытаюсь выяснить, как лучше всего это вынести. Я объясню, что у меня есть сейчас, но мне интересно, есть ли лучший способ сделать это.Объект Архитектура Дизайн Вопрос
У меня есть класс, который имеет основные свойства: Имя, Описание, et.al. Я использую список разделов для пользователей на выбор. Они могут добавлять раздел столько раз, сколько хотят объект «Родитель» и любое количество разделов.
Когда они добавляют раздел к родительскому объекту, им необходимо назначить группу, к которой она принадлежит (скажем, group1, group2, group3) и в каком порядке она будет отображаться. Это свойство Group не входит в таблицу, нет необходимости в группе, когда я перечисляю разделы для пользователя на выбор, это не имеет смысла. Подумайте об этом разделе, который они добавляют как клон с дополнительными свойствами.
У меня есть другая таблица с внешним ключом для родителя и раздела. Многие разделы могут быть добавлены в 1 родительский. В этой таблице ссылок также есть столбцы Grouping и DisplayOrder (а также несколько других) для каждого добавляемого раздела.
Итак, когда я создаю объект Parent и запрашиваю коллекцию его разделов, могу ли я попытаться использовать тот же класс класса и добавить свойство Grouping?
Section 1
Section 2
Section 3
Parent 1
Section 1 - Group = g1, DisplayOrder = 1
Section 1 - Group = g2, DisplayOrder = 2
Section 2 - Group = g2, DisplayOrder = 3
Section 3 - Group = g3, DisplayOrder = 4
Parent 2
Section 4 - Group = g3, DisplayOrder = 1
Section 1 - Group = g2, DisplayOrder = 2
Section 2 - Group = g3, DisplayOrder = 3
Скажите мне, если вы понятия не имеете, о чем я говорю, и я постараюсь объяснить это лучше ... или я удалить его и делать вид, что я никогда не просил. = P
Когда вы добавляете раздел в родительский элемент, добавляете ли вы новый раздел или ссылку на один раздел, который можно добавить несколько раз? – plinth
Я добавляю ссылку на раздел, который уже существует, но в этой ссылке я добавляю дополнительные поля, такие как Group и DisplayOrder –
Если это тот же/раздел, то вам нужен класс, содержащий раздел и уникальный информация, которая не будет использоваться совместно. – plinth