Страница: 1 | 2 | 3 |
|
Вопрос: Обучение VB.NET
|
Добавлено: 14.05.09 15:55
|
|
Автор вопроса: Валентин
|
Добрый день ребята!
Начал изучать vb.net, прочитал несколько книг из разряда "vb.net для чайников". Основы программирования и базовые знания по языку получил. Подскажите пожалуйста - что делать дальше? Какие книги для дальнейшего изучения вы посоветуете?
Ответить
|
Номер ответа: 11 Автор ответа: Artyom
Разработчик
Вопросов: 130 Ответов: 6602
|
Профиль | | #11
|
Добавлено: 14.05.09 18:57
|
1) Полностью изучить синтаксис VB .NET/C#
Если с английским и памятью хорошо, достаточно 2-3 раза полностью перечитать соответствующие разделы Language Reference в MSDN
2) Изучать архитектуру платформы .NET
Это, наверное, полностью не осилит НИКТО.
Читать всех Рихтеров, хорошие статьи в инете, можно MSDN, правда в MSDN я хорошей инфы по этой теме не видел, может потому что почти не искал.
Особое внимание обратить на реализацию ООП в .NET, на работу менеджера памяти.
3) Изучить базовые возможности библитоеки классов
Как минимум
* Базовые типы (Integer/String/итп - все что лежит в корне System)
* Система ввода-вывода (System.IO)
* Коллекции и работа с ними (в основном System.Collections, позже добавить LinQ)
* Работа со строками (в том числе регулярные выражения) System.Text
* Многопоточность. Тема сложная, но чем глубже разберешь тем проще будет в будущем - в .NET в отличие от VB6 многопоточность есть и постоянно используется (даже если сам того не желаешь) (System.Threading)
* Рефлексия. Разобрать хотя бы до уровня понимания что она может (System.Reflection)
* Основы сетевой работы. Глубоко можно не копать, если, конечно, не собираешься разрабатывать сложные сетевые приложения, для начала хватит основных классов (типа WebClient и еще нескольких) (System.Net)
* XML. Изучить как сам XML, так и методы работы с ним (в .NET есть несколько методов, я рекомендую ознакомиться со всеми - начиная с потоковой обрабокти XML, заканчивая XLinQ. Обязательно - XPath. Опционально - XSL, XQuery, схемы и неймспейсы XML. (System.XML)
* Основы безопасности в .NET. На начальных этапах достаточно обзорной информации, все равно имеющихся знаний будет недостаточно для того чтоб делать какие-то успехи в области безопасности.
4) Начать изучать специфичные технологии .NET. Здесь уже можно выбирать - некоторые вы будете использовать каждый день, некоторыми ни разу не воспользуетесь. Впрочем я советую изучить хотя бы основы каждой технологии.
* Windows Forms (заметьте, Windows Forms я вынес аж на 4 этап - до этого не рекомендую заморачиваться с Windows Forms, а проводить все свои испытания в консольных приложениях). Сюдаже идет GDI+ (System.Drawing). Если собираетесь писать под Windows Forms, неплохо будет поизучать как расширять возможности стандартных контролов .NET и создавать свои.
* ADO .NET. Думаю, подавляющее большинство приложений .NET так или иначе работают с данными. И подавляющее большинство из этого подавляющего большинства работает с SQL Server. Советую начать рассматривать с базовых классов (SqlConnection/SqlCommand/SqlDataReader), которые работают наиболее эфективно в плане скорости и памяти. Возможно вы будете использовать их редко, но понимание принципов их работы очень важны для того чтоб работать с более высокоуровневыми классами. Далее - DataAdapter/DataSet/TableAdapter, как наиболее универсальные и скучные решения. Далее - LinQ-2-SQL/EDM. Смотреть System.Data
* Безопасность (System.Security). В .NET, можно сказать, очень много безопасности, и все все равно не получится изучить... Но хотя бы шифрование нужно разобрать досконально.
* ASP .NET. Сюда также плюсуются знания HTML/CSS/JavaScript. Если собираетесь писать веб-приложения, советую досконально разбирать эту технологию - начиная с архитектуры IIS6/7, конвейра обрабокти запросов, далее объектная модель страниц (досконально изучить жизненный цикл страницы, биндинг данных), по желанию можно продолжить с ASP .NET AJAX, ASP .NET MVC, Dynamic Pages, веб-сервисы, и что там еще найдете.
* Различные механизмы управления кодом и памятью, Interrop, unsafe код и прочие трюки. В основном лежит в System.Runtime и System.Reflection. При написании большинства приложений скорее всего такие знания не пригодятся, тем не менее могут быть в некоторых случаях полезны.
* System.NET. Если собираетесь разрабатывать сетевые приложения, неплохо бы разобрать существующие классы более досконально. Сюда же можно добавить Remoting, хотя на мой взгляд, после выхода WCF значимость этой технологии сильно снизилась.
* WCF. Если собираетесь писать распределенные приложения (но не намерены опускаться на уровень байтов и сокетов), то нужно хотя бы изучить на среднем уровне понимания работы стандартных биндингов. Желательно досконально изучить архитектуру WCF, научиться расширять возможности своими биндингами.
* WPF. Если собираетесь писать под WPF то выбора у вас как бы нет
* WWF. Если собираетесь играться с бизнес-процесами то можно поиграться и с этой технологией
* Если собираетесь писать Windows-сервисы, ознакомиться с тем что предлагает .NET.
5) Если планируете разрабатывать базы данных, то параллельно пункту 4 неплохо бы изучить возможности СУБД.
Наиболее подходящая СУБД для .NET - безусловно, SQL Server.
Чем глубже изучите возможности этой СУБД, тем проще будет разрабатывать приложения.
Не помешает знание того как данные хранятся физически, как происходит выполнение запросов, как выполнять их оптимизацию и т.п.
Помимо этого в SQL Server идет еще ряд компонентов, некотоыре из них вам пригодятся. Я бы в обязательном порядке изучил дополнительно SQL Server Integration Services и SQL Server Reporting Services. Если собираетесь что-то анализировать то добавляйте в список SQL Server Analisys Services.
Также неплохо бы изучить возможности SQL Server Compact Edition. Много времени это не займет, там этих "возможностей" на 5 страниц документации.
Если собираетесь работать со сторонними СУБД (Oracle, Access, MySQL, и еще с какими-нибудь представителями зоопарка, добавляйте их в список).
6) Параллельно с 4 и 5 также стоит изучать более общие вещи. О том как и какой код писать.
Я бы рекомендовал минимум ознакомиться с книгами "Безопасный код", "Совершенный код".
Для проектирования (да и просто для кодирования) также нужно ознакомиться с различными патернами. Я рекомендую к прочтению Фаулера, и Design Patterns (хотя по моему мнению в .NET эти патерны слабо применимы, за исключением некоторых, а вот Фаулер очень неплох)
Изучать существующие алгоритмы.
Изучать параллельное программирование
Ну в двух словах - примерно так. После изучения всего этого с большой вероятностью сможешь писать решения разной степени сложности, будешь легко переходить на новые версии технологии и изучать новые технолологии Microsoft.
Вобщем на ближайшие 3-4 года должно хватить, когда все проштудируешь, обращайся, к тому времени у меня будет что добавить
Ответить
|
Страница: 1 | 2 | 3 |
Поиск по форуму