NET и изменение парадигмы
.NET и изменение парадигмы
Какое отношение все сказанное имеет к .NET? Самое прямое. Видите ли, .NET изменит подход к проектированию приложений так же сильно, как появление классов в VB некогда повлияло на проектирование приложений VB5 и 6. И переход на .NET вызовет определенные неудобства — как и переход от «бесклассовых» версий VB к поддержке классов! [ В поставку VB .NET входит утилита преобразования программ, но'не стоит возлагать на нее чрезмерные надежды. Ни одна серьезная программа не преобразуется автоматически — возможно, ее будет проще написать с нуля. ]
Рассмотрим некоторые факторы, которые следует учитывать при переходе с VB6 на VB .NET.
Автоматическая сборка мусора: ликвидация утечки памяти
У программистов, работающих на Visual Basic, всегда возникали проблемы с утечкой памяти из-за так называемых циклических ссылок (ситуация, при которой объект А ссылается на объект В, а объект В ссылается на объект А). Если появление циклических ссылок было обусловлено логикой программы, компилятор VB не распознавал их, в результате чего память, занимаемая этими объектами, не освобождалась. Система сборки мусора, встроенная в .NET CLR, решает проблему циклических ссылок иначе — интеллектуальный алгоритм обнаруживает циклические ссылки, разрывает их и освобождает занимаемую память. Конечно, за дополнительные возможности приходится платить; достоинства и недостатки автоматической сборки мусора рассматриваются в главе 4.