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

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

Рассмотрим это, например:

value = 42

def doit():
    print value
    value = 0

doit()
print value

Возможно, вы можете предположим, что оператор value = 0 будет назначать локальную переменную и не влияет на значение той же переменной, объявленной вне функции doit(). Вы можете быть более удивлены, обнаружив, что код выше не будет работать. Оператор print value внутри функции создает UnboundLocalError.

. Причина в том, что Python заметил что в другом месте функции вы назначаете имя value, а также value нигде не объявлено global. Это делает его локальной переменной. Но когда вы пытаетесь распечатать его, локальное имя еще не определено. Python в этом случае не возвращается к поиску имени как глобальной переменной, как это делают некоторые другие языки. По сути, вы не можете получить доступ к глобальной переменной, если вы определили локальную переменную с тем же именем где угодно в функции.

19
задан 2 revs, 2 users 100% 26 June 2009 в 04:41
поделиться

8 ответов

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

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

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

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

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

еще не урегулирование на Вашей архитектуре!

теперь необходимо решить, хотите ли Вы использовать WebParts Microsoft, Вход в систему и Навигационные компоненты. Они привязывают Вас к определенному подходу к навигации сайта, UI, и т.д. но могут сохранить Вас загрузки времени при необходимости.

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

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

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

22
ответ дан 30 November 2019 в 03:08
поделиться

Разработайте приложение. Что Вы потребность для знания должна пузыриться до вершины справедливо быстро.

15
ответ дан 30 November 2019 в 03:08
поделиться

Я сказал бы, что Ваш список является довольно хорошим началом. Кроме того, если бы Вы главным образом создаете прямые таблицей приложения затем, я посмотрел бы на "Динамические Данные" примеры приложения в VS2008 SP1, который использует REST. Я был бы склонен избегать модели WebForms и использовать ASP.NET MVC. Это лучше для тестирования и чисто разделяет бизнес-логику от UI. Кроме того, Linq-to-Sql является очень мощным инструментом, когда Вы знаете, что это - limitiions.

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

Лучший способ учиться состоит в том, чтобы сделать.

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

4
ответ дан 30 November 2019 в 03:08
поделиться

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

Удачи!!

2
ответ дан 30 November 2019 в 03:08
поделиться
  1. Исследование C# сначала
  2. Выбирают объектно-ориентированный подход CRUD: выбором является Платформа Объекта (Microsoft предложила выбор), Linq2SQL, Nhibernate (мое персональное предложение).
  3. ASP.NET объекты MVC+Nunit+JQuery+JSon.
    я также посмотрел бы на WCF, поскольку это становится все более важным.

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

0
ответ дан 30 November 2019 в 03:08
поделиться

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

большинство проблем и трудно разыскать ошибки, с которыми я должен был иметь дело в веб-программировании.NET, свелось ко мне не полностью понимание основ ASP.NET как PostBack, ViewState, Обновление и привязка данных ASP.NET (основной handcoded метод, не необычный материал сетки без кодов в 2,0) - после того как Вы понимаете, что материал, основные страницы, темы и материал Ajax довольно легки.

я рекомендовал бы, чтобы Wrox Нажали ASP.NET 2.0, или Профессиональный 2008 C#

0
ответ дан 30 November 2019 в 03:08
поделиться

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

0
ответ дан 30 November 2019 в 03:08
поделиться

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

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

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

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

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

0
ответ дан 30 November 2019 в 03:08
поделиться