Я хотел бы знать, каков наилучший дизайн кода при хранении и извлечении данных из базы данных при работе с объектами и классами.
Я мог бы сделать это двумя способами.
В конструкторе класса я запрашиваю базу данных и сохраняю всю информацию в переменных экземпляра внутри класса и извлекаю их с помощью методов получения / установки. Таким образом, я всегда могу получить любую информацию, какую захочу, но во многих случаях не потребуется постоянно вся информация.
public class Group {
public int GroupID { get; private set; }
public string Name { get; private set; }
public Group(int groupID)
{
this.GroupID = groupID;
this.Name = // retrieve data from database
}
public string getName()
{
// this is just an example method, I know I can retrieve the name from the getter :)
return Name;
}
}
Другой способ - создать несколько методов и передать groupID в качестве параметра, а затем запросить в базе данных ту конкретную информацию, которая мне нужна. Это может привести к большему количеству запросов, но я получу только ту информацию, которая мне нужна.
public class Group {
public Group()
{
}
public string getName(int groupID)
{
// query database for the name based on groupID
return name;
}
}
Какой, по вашему мнению, лучший путь? Есть ли здесь лучшая практика, или мне решать, что мне кажется лучше всего?