В процессе технологической модернизации все еще есть люди, которые цепляются за устаревшие вещи. Есть и люди, которые вошли в новый мир, но до сих пор не могут избавиться от старых привычек. Я не использовал слово «вредные привычки». Потому что мне также очень противно это слово.
Новые технологии должны иметь новые технологические практики. Входя в мир ASP.NET, вы должны исправить свои прошлые привычки и войти в новый мир.
Пожалуйста, не делайте этого. ошибочно продвигают это как рекомендуемую практику:
1. Используйте включение на стороне сервера, чтобы ввести общую композицию страниц в ASPX.
В рамках механизма ASP.NET для его реализации следует использовать ASCX (веб-контроль). ASCX предоставляет более управляемые интерфейсы. И что еще более важно, ASCX — это настоящий класс.
2. Не используйте
.веб.конфигурация
web.config предоставляет очень богатый интерфейс управления конфигурацией. Это основная часть приложения. Однако у многих людей файл web.config часто пуст или никогда не изменялся.
3. Используйте Response.Write для вывода сообщений во внешний интерфейс. Ответ на платформе ASP.NET сильно отличается от ответа ASP. Хотя это означает то же самое, использование совсем другое. Содержимое Response.Write будет выведено только на переднюю часть страницы. Правильный способ. вывести сообщение во внешний интерфейс. Метод заключается в использовании PlaceHolder.
4. Используйте серию сеансов для управления состоянием соединения пользователя. Этот метод используется в ASP.NET, правильный подход должен заключаться в разработке. class. Сохраните данные в структурированном виде. Это будет полезно для сеансов или инкапсуляции доступа к файлам cookie.
5. Используйте сеанс для проверки личности. Это почти распространенная проблема. это проверка форм или проверка Windows. Существует раздел быстрого запуска, который очень хорошо объясняет это. Очевидно, что большинство людей по-прежнему полагаются на присвоение значений сеансам для поддержания статуса аутентификации пользователя.
6. Используйте Response.Redirect для перенаправления страницы. Это можно использовать при необходимости, но нельзя злоупотреблять. Факты доказали, что злоупотребление перенаправлениями приведет к серьезной логической путанице. Это то, что вы делаете, когда страницы используются как программные единицы. Использование режима фронт-контроллера централизует логику работы пользователя.]
7. Используйте слишком много страниц ASPX. Программными модулями в среде ASP являются только страницы *.asp, ASP. В .NET также есть серверные библиотеки классов, ASCX и т. д. Бизнес-логика должна быть сконцентрирована. в разных модулях вместо использования одного ASPX для одной операции. Чаще всего ASPX используется в качестве ASCX или пользовательского элемента управления. Контейнер управляет логикой внутри страницы. Хотя ASPX повторно использует ASCX, ASPX также повторно используется в качестве унифицированной композиции страниц.
8. Копирование кода между несколькими логическими единицами и изменение соответствующей логики для повторного использования. Повторное использование. Принципы решения подобных проблем. Если вы используете описанный выше метод, результаты будут заметны. быть катастрофическим
9. Боюсь использовать DataSet.
Многие люди боятся DataSet. Они думают, что он «определенно» влияет на производительность, но они даже не решаются попробовать его в первый раз. Они всегда думают, что их продукты должны быть важными и должны быть «осторожными» в дизайне. часто используйте ArrayList или разрабатывайте низкоуровневые классы. Сохраняйте данные коллекции. Выполняйте тяжелую работу по выгрузке данных.
10. Уделяйте слишком много внимания «производительности».
Меня особенно не устраивает механизм ASP.NET ViewState. Или я всегда изо всех сил стараюсь преследовать других. Наоборот, я очень утомляюсь. Возможно, будет более цивилизованно, если я буду уделять больше внимания подключению к базе данных реже. при работе с ViewState
11. В корневом каталоге приложения очень хаос.
ASP.NET — это проект разработки, а не веб-сайт. Различные ресурсы должны быть классифицированы и размещены. Например, все статические ресурсы (таблицы стилей, сценарии, изображения) должны быть организованы вместе. Вы даже можете написать набор API для управления ими. .ASPX надо собрать. А .*.cs их надо вынести в другой проект?
12. Если вы возьмете на себя труд написать процесс доступа к базе данных, то вам следует оставить эту работу. Блок приложений DataAccess Приходится включать и выключать соединение самостоятельно, зачем заморачиваться 13.
То, что вы пишете, самое надежное.
На самом деле часто бывает наоборот: уделяйте больше внимания использованию продуктов, написанных другими. Они не берут с вас денег, так зачем так беспокоиться о сохранении лица
14. Случайное присвоение имен файлам ASPX — самая болезненная вещь. имена должны быть не только легко идентифицируемыми. Необходимо соблюдать определенные правила. Поскольку за каждым ASPX стоит класс с одинаковым именем, представьте, насколько это неудобно. Кроме того, большинство людей не знают пространства имен своих собственных проектов.
15. Никогда Вместо того, чтобы наследовать или наследовать некоторые классы с одинаковым поведением, они должны быть производными от общего базового класса. В практическом смысле наш ASPX должен иметь базовый класс
.
PageBase Потому что всегда есть некоторые общедоступные функции, которые необходимо абстрагировать.
16. Нулевое свойство.
В их классах только приватные методы (соответствующие ASPX). Никаких своих секретов они не раскрывают. Должно быть это работа ветеранов JAVA
17. Ноль ASCX
.
Излишне говорить, что он еще не изучил ASP.NET
. 18. Используйте DreamWeaver, чтобы «нарисовать» ASPX.
Эта группа людей — художники. Некоторые люди даже очень увлечены обсуждением того, как лучше «интегрировать» DreamWeaver и Visual Studio
19. Если вы знакомы только с System.Web.UI.WebControl и System.Data.SqlClient, то это должно быть. есть еще несколько, с которыми стоит ознакомиться. Библиотека классов.
20.Нулевые аннотации. Это быстрые игроки, которые очень хорошо знают. Комментарии по умолчанию, генерируемые любой IDE, игнорируются.
21.Нулевые события ничего не знают об «управляемых событиями». в Page_Load() Напишите процедуру. Или дважды щелкните кнопку, чтобы написать процедуру Xxx_Clock(). События и делегаты не видны в их программах.