Я недавно перешел с VB6 на VB.NET, и, наконец, я добираюсь до понимания внутренней работы. Я смотрю на существующую кодовую базу моей компании, и я немного удивлен.
Я понимаю, что когда VB.NET создает строку, он видит, находится ли строка в памяти, а если нет, создает новый экземпляр этой строки, в противном случае он указывает новую переменную на старую. Однако мне интересно, если это происходит с другими объектами?
Причина, по которой я спрашиваю, состоит в том, что в моей новой компании есть объект DATABASE, который в основном оборачивает информацию о подключении к базе данных и подключения к базе данных в объекте.
У нас также есть объект BOOK и объект PAGES.
Моя лучшая практика в VB6 - создавать объект DATABASE, а затем передавать (byRef) его в объект BOOK, а затем в PAGES, чтобы вы передали один объект DATABASE в несколько книг, а затем PAGES.
Однако , как они сделали это, создали новый экземпляр объекта DATABASE на каждой странице и каждом объекте PAGE, что означает, что вы можете иметь несколько экземпляров (на самом деле тысячи) объектов, которые на самом деле все одинаково.
Это мудро? Или объекты обрабатываются как строки?