У меня есть небольшое приложение, которое позволяет пользователям создавать учетные записи, а затем присуждать «очки» друг другу. UserAccount - это объект, а также Point, и между ними существует взаимосвязь агрегирования: каждый UserAccount имеет переменную-член (PointHistory), которая представляет собой набор точек.Агрегирование отношений и создание объектов из хранилища базы данных (vb)
Объект Point просто содержит свойства, для которых объект UserAccount отправлен/получен Point.
Это было прекрасно, когда я просто сериализовал классы, чтобы сохранить мою объектную модель. Однако теперь я реализую базу данных для сохранения данных объекта, и только один/некоторые объекты будут загружены в память в любой момент времени. Чтобы загрузить объекты, у меня есть метод конструктора, который создает новый UserAccount из строки в базе данных и аналогичный конструктор для создания точки из строки базы данных. Здесь начинается проблема - как конструктор для одного объекта вызывает конструктор для другого объекта, когда второй конструктор должен ссылаться на на то, что еще не построил первый конструктор? Чтобы завершить строительство, объект должен быть уже построен.
Простое решение - просто заменить коллекцию объектов Point (PointHistory) на коллекцию строк, взятых из запроса к базе данных. Этого достаточно для моих целей. Тем не менее, мне интересно, есть ли другой способ сделать то, что не оставляет объект объекта/объектную модель, и является ли эта проблема с агрегацией/персистентностью распространенной?
Привет, Если вы нашли мой ответ полезным, отметьте его как Принято. –
жаль, что я не понимал, что это был тик в то время; и когда я нажал стрелку вверх, это не сработало, потому что моя учетная запись не зарегистрирована – Andrew