Из веб-приложения в настольные приложения - PullRequest
2 голосов
/ 21 декабря 2011

Мой опыт работы с веб-приложением (PHP), вы запросили страницу, запустили свой код для обработки этого запроса, и процесс завершен, как правило, вам не нужно сильно беспокоиться об отмене установки переменных и таких вещей, какчто, поскольку процесс завершается после загрузки страницы.

Рассматривая некоторые разработки настольных приложений на C #, просто любопытно, чем это отличается от Интернета.Скажем, я запускаю программу, пользователь выполняет некоторые действия, программа не выполняется так, как веб-приложение, так что вы делаете по-другому?Нужно ли вам помнить об отмене установки переменных и других вещей, когда они заканчиваются, чтобы предотвратить потерю памяти?

Ответы [ 3 ]

2 голосов
/ 21 декабря 2011

короткий ответ - да. вам нужно отменить регистрацию обработчиков событий, избавиться от объектов, удалить строгие ссылки и т. д. как это выглядит, зависит от структуры кода.

1 голос
/ 21 декабря 2011

Большинство веб-программ - без состояний .При настольном программировании ваши индивидуальные функции обычно не сохраняют состояния.Вы передадите всю необходимую информацию в качестве параметров и получите обратно все, что вам нужно.Однако основная программа будет хранить некоторое состояние.

Богатые интернет-приложения часто сохраняют состояние, а некоторые веб-сайты используют сам контент HTML в качестве состояния и обновляют его через Javascript и т. Д.

ПользовательИнтерфейс настольного программирования аналогичен.Редактирование и различные другие элементы управления хранят некоторое состояние.Вы будете хранить некоторые глобальные переменные для таких вещей, как пользовательские настройки, которые вы можете рассматривать как переменные сеанса.Запуск приложения аналогичен сеансу.

Настольное программирование также основано на событиях.Довольно часто программа будет сидеть там, ожидая, когда пользователь нажмет на кнопку или что-то еще.Итак, обычно мы говорим о Windows и обработчиках событий.Возможно, вы знакомы с этим в Javascript.

C # выполняет сборку мусора, поэтому вам не нужно беспокоиться об удалении переменных.Как только они выходят из области видимости, их обычно убирают.Глобальные переменные класса не будут очищаться до тех пор, пока приложение не закроется, и вам не придется очищать переменные при закрытии приложения.Все они исчезнут, когда процесс завершится, как PHP.

Не используйте глобальные переменные (которые не выходят за рамки) внутри функции, когда вы должны использовать локальные.

PHP также имеет локальные и глобальные переменные, так что это должна быть знакомая территория.

1 голос
/ 21 декабря 2011

Да, вам нужно беспокоиться. В основном вам, возможно, придется беспокоиться о необработанных объектах, поскольку управляемые объекты обрабатываются сборщиком мусора.

...