Подтвердить что ты не робот

Я новичок в .NET - на чем я должен сосредоточиться и что я должен игнорировать?

Итак, у меня было много опыта программирования веб-приложений с базой данных, использующих php и coldfusion (не вместе, в разное время), и я начинаю изучать мир asp.net(у меня есть проект на котором все asp.net/С#.)

Мой вопрос в том, что, похоже, есть много вещей, которые нужно замалчивать, и если я просто создаю веб-приложения (в основном, материал типа CRUD - без логики разума), каковы темы, которые я должен сфокусироваться на? Я просто не хочу идти по кроличьей тропе чего-то, чтобы узнать позже, что это не слишком сильно использовало сообщество разработчиков. При чтении некоторых книг (шаг за шагом ASP.net 3.5 и ASP.net 3.5 развязаны) Я нахожу область, где будет объясняться тема, но в конце главы она скажет: "Этот материал классный, но не для использование в многоуровневых приложениях..."

Темы, которые я просмотрел до сих пор (которые, похоже, сильно отличаются от приложений, которые я использую для создания):

  • Основные страницы
  • DataBinding
  • Linq to SQL
  • ASP.NET MVC
  • Шаблоны и выражения для привязки данных
  • Элементы управления asp.net

Я знаю, что это может быть широкий вопрос, но это, кажется, широкая тема.

4b9b3361

Ответ 1

Хороший вопрос! Я предполагаю, что вы можете выбрать синтаксис С#, как вы идете, поэтому я сосредоточусь на большой картине.

Чтобы начать работу с приложением WebForms, вы должны понимать жизненный цикл страницы и жизненный цикл приложения. Это ваш первый приоритет. Модель, используемая ASP.NET, основана на программном обеспечении на основе Windows, и это имеет последствия для того, как вы думаете о процессе всего программного обеспечения. Теперь я предполагаю, что вы будете создавать приложение WebForms, потому что технология WebForms (в ASP.NET) более зрелая, имеет лучшую стороннюю поддержку и имеет гораздо больше документации. Если вы склонны к MVC, то просто имейте в виду, что хороший дизайн будет тем или иным - MVC не является частью WebForms, он является альтернативой ему.

Затем у вас есть некоторые решения. Будете ли вы использовать инструменты стандартного доступа к данным (например, SQLClient), перемещая свой собственный уровень доступа к данным (или используя DAL) или используя linq to SQL? Я говорю "решения", потому что все в команде должны быть вместе на этом. Я сердечно рекомендую создать DAL, так как вы можете оптимизировать его для своих нужд. Linq также хорош, но есть некоторые зловещие облака на горизонте. Координация, решение и пребывание с ней.

Хотя это не обязательно, вам следует серьезно подумать о создании вашей бизнес-логики в отдельной библиотеке классов (DLL). Visual Studio/ASP.NET упрощают создание собственной библиотеки классов и сворачивают ее в ваше решение. Узнайте, как это сделать, и вы станете лучшим разработчиком уже много лет. Люди обычно спорят об этом, исходя из того, что он изолирует ваш пользовательский интерфейс от доступа к данным. Хотя это правда, на самом деле это не является преимуществом - преимущество идет вниз по дороге, когда вы готовы учиться и выполнять модульное тестирование. Просто начните с предположения, что вы разделите интерфейс с логикой, и вы поблагодарите меня по дороге.

На этом этапе вы можете (A) создавать веб-страницы и (B) показывать в них динамический, основанный на базе контент. Убедитесь, что вы освоили объекты GridView и ObjectDataSource, используемые для их заполнения. Примечание. Объект ObjectDataSource - это то, что переносит данные из вашей библиотеки бизнес-классов в пользовательский интерфейс. Если вы не используете бизнес-уровень, то вы будете использовать объекты SQLDataSource или LinqDataSource для доступа к своим данным непосредственно из пользовательского интерфейса.

Пока не планируйте свою архитектуру!

Теперь вам нужно решить, хотите ли вы использовать компоненты Microsoft WebParts, Login и Navigation. Они блокируют вас конкретным подходом к навигации по сайту, пользовательскому интерфейсу и т.д., Но при необходимости могут сэкономить массу времени.

Как только вы узнаете, будете ли вы использовать их, и у вас был шанс привыкнуть к ним, я бы рекомендовал ознакомиться с основными страницами. Я использую их широко, и они отлично подходят для стандартизации общего внешнего вида сайта.

Наконец, каждый профессиональный разработчик ASP.NET должен получить свой собственный класс страницы (например, "MyPageClass" ), чтобы они могли инкапсулировать общие действия на уровне страницы. Например, я создал объект управления сеансом, чтобы я мог получить доступ ко всем моим часто используемым переменным сеанса безопасным образом. Полученный класс страниц отвечает за предоставление экземпляра sessionObj, чтобы каждая страница могла получить к нему доступ без дополнительной работы.

Теперь вы готовы начать создание веб-приложения корпоративного класса!

Ответ 2

Создайте приложение. То, что вам нужно знать, должно быстро появиться на вершине.

Ответ 3

Я бы сказал, что ваш список - неплохое начало. Кроме того, если вы в основном создаете приложения, ориентированные на таблицы, я бы посмотрел образцы приложений Dynamic Data в VS2008 SP1, который использует REST. Я бы старался держаться подальше от модели WebForms и использовать ASP.Net MVC. Это лучше для тестирования и чисто отделяет бизнес-логику от пользовательского интерфейса. Кроме того, Linq-to-Sql - очень мощный инструмент, когда вы знаете его ограничения.

Я бы начал с создания образца с использованием ASP.Net MVC и linq-to-sql, чтобы ваши ноги были влажными. Это довольно легко начать, и не должно занять много времени, чтобы изучить достаточно оснований, чтобы сделать его полезным.

Лучший способ учиться - делать.

Что касается "Что я должен игнорировать?":.Net Remoting и веб-службы. Это было заменено гораздо более мощной инфраструктурой WCF.

Ответ 4

Одна из вещей, которые вы не должны забывать пересматривать, в основном, если вы собираетесь разрабатывать веб-приложение, заключается в том, что вы должны знать жизненный цикл webForm, также вам нужно знать, как работает серверная часть, как работает клиентская сторона. Затем вы можете просмотреть главные страницы, иметь общий внешний вид и поведение на вашем сайте, элементы управления asp.net, пользовательские элементы управления и т.д. Generics, анонимные методы, uff есть гораздо больше, чтобы узнать, на самом деле я пытаюсь узнать что-то новое о С# каждое свободное время у меня есть... есть еще много...:)

Удачи!!

Ответ 5

  • Сначала исследование С#
  • Выберите объектно-ориентированный подход CRUD: выбор представляет собой Entity Framework (предлагаемый Microsoft выбор), Linq2SQL, Nhibernate (мое личное предложение).
  • Объекты ASP.Net MVC + Nunit + JQuery + JSon.
    Я бы также посмотрел на WCF, поскольку он становится все более и более важным.

Двумя хорошими отправными точками для общей архитектуры для веб-приложений и стартового проекта являются:

Ответ 6

Сначала я бы начал с основ. Есть много мощных элементов управления и "виджетов" в ASP.NET 2.0 и 3.5, особенно с элементами управления AJAX, но я сбив с толку попытаюсь отсортировать их все, не понимая, как вы сказали, базовые веб-страницы CRUD "в ASP.NET - это то, что большинство реальных проектов все равно спустится.

Большинство проблем и трудно отслеживать ошибки, с которыми мне приходилось иметь дело в .NET-программировании .NET, привели к тому, что я не полностью понял основы ASP.NET, такие как PostBack, ViewState, Refresh и ASP.NET databinding ( базовый метод ручной кодировки, а не фэнтезийный материал без кода в 2.0) - как только вы это понимаете, основные страницы, темы и материалы AJAX довольно просты.

Я бы рекомендовал Wrox Press ASP.NET 2.0 или Professional С# 2008

Ответ 7

Хорошо, честно говоря, очень важно понять, что такое статическое использование и как оно влияет на окружающие его вещи. Если вы не понимаете concurrency, безопасность потоков и условия гонки, не используйте статические. Я только упоминаю об этом, потому что за последние несколько месяцев я застрял в исправлении нескольких ошибок, связанных со статическими ресурсами, которые не используются должным образом. Это можно рассматривать как передовую тему, но это очень важно понять.

Ответ 8

Если ваши веб-сайты будут очень тяжелыми, посмотрите на Динамические данные.

Если у вас уже достаточно знаний с других платформ, я бы также посмотрел на такие вещи, как состояние viewstate/control и то, как они работают.

Вы можете повторно использовать большую часть своего knowlegde с других платформ html/javascript. Masterpages - это то, что нужно знать и что происходит с жизненным циклом страницы при их использовании.

ORM/SQL-инъекция/фильтрация ввода - это то, что вы также должны знать наизусть.

Если вы использовали ранее MVC-фреймворки, тогда переходите к MS MVC, если нет, тогда вам, возможно, захочется подождать до вашего удобства с ними, прежде чем копать.