Uploaded by Alex Green

Candidates' for Net Developers Self-education Plan

advertisement
.NET
Educational Plan
Version 1.5
.NET
Educational Plan
Candidates' for Net Developers Self-education Plan
Version:
Date:
5
20 August 2011
Revision History
Date
Version
Description
Author
14/12/2004
1.0
Initial version
Stanislaw V. Cherkasov
14/12/2004
1.1
Official template applied
Sergiy O. Movchan
14/12/2004
1.2
Text correcting
Stanislaw V. Cherkasov
07/10/2008
1.3
Document Update
Denis A. Girenko
10/02/2010
1.4
Actual features
Igor S. Yatsula
20/08/2011
1.5
Text correcting and updating references
Igor S. Yatsula
Public
NIX Solutions, Ltd. 2010
Page 2
.NET
Educational Plan
Candidates' for Net Developers Self-education Plan
Version:
Date:
5
20 August 2011
Table of Contents
1. АННОТАЦИЯ .................................................................................................................................... 4
2. ТРЕБОВАНИЯ К УРОВНЮ ЗНАНИЙ .............................................................................................. 4
2.1 ЧЁТКОЕ ПОНИМАНИЕ ООП, ООА И ШАБЛОНОВ ПРОЕКТИРОВАНИЯ ............................................................... 4
2.1.1 Основные требования ....................................................................................................................... 4
2.1.2 Рекомендуемая литература и информационнные источники ........................................................... 4
2.2 ПОНИМАНИЕ ПРИНЦИПОВ РАБОТЫ CLR И .NET FRAMEWORK ...................................................................... 4
2.2.1 Основные требования ....................................................................................................................... 4
2.2.2 Рекомендуемая литература и информационнные источники ........................................................... 5
2.3 УМЕНИЕ ПРОГРАММИРОВАТЬ НА C# ............................................................................................................ 5
2.3.1 Основные требования ....................................................................................................................... 5
2.3.2 Рекомендуемая литература и информационнные источники ........................................................... 5
2.4 РАБОТА С БАЗАМИ ДАННЫХ С ПРИМЕНЕНИЕМ СУЩЕСТВУЮЩЕЙ ORM СИСТЕМЫ ........................................... 5
2.4.1 Основные требования ....................................................................................................................... 5
2.4.2 Рекомендуемая литература и информационнные источники ........................................................... 6
2.5 РАЗРАБОТКА WEB-ПРИЛОЖЕНИЙ НА ASP.NET ............................................................................................ 6
2.5.1 Основные требования ....................................................................................................................... 6
2.5.2 Рекомендуемая литература и информационнные источники ........................................................... 6
2.6 РАЗРАБОТКА WEB-ПРИЛОЖЕНИЙ НА ASP.NET MVC ................................................................................... 7
2.6.1 Основные требования ....................................................................................................................... 7
2.6.2 Рекомендуемая литература и информационнные источники ........................................................... 7
2.7 ТЕСТИРОВАНИЕ ПРИЛОЖЕНИЙ ......................................................................................................... 7
2.7.1 Основные требования ....................................................................................................................... 7
2.7.2 Рекомендуемая литература и информационнные источники ........................................................... 7
Public
NIX Solutions, Ltd. 2010
Page 3
.NET
Educational Plan
Candidates' for Net Developers Self-education Plan
Version:
Date:
5
20 August 2011
План самостоятельного обучения претендентов на
должность .NET разработчика
1. Аннотация
Данный документ описывает желательные знания, которыми должен обладать претендент на должность .Net
разработчика и предлагает рекомендуемую литературу и информационные источники для самостоятельного
изучения необходимых тем.
Выдвигаемые требования к знаниям определяют уровень для гарантированного приѐма на работу. В том
случае, если претендент получит хороший уровень знаний по всем перечисленным темам, он может попасть
на оплачиваемое обучение внутри фирмы, с возможностью последующего устройства на работу.
Помимо предлагаемой литературы рекомендуется посетить следующие интернет ресурсы, предоставляющие
информацию по всем необходимым темам:
1.
2.
3.
4.
http://msdn.microsoft.com/
http://rsdn.ru/
http://www.gotdotnet.ru/
http://asp.net/
2. Требования к уровню знаний
2.1 Чёткое понимание ООП, ООА и шаблонов проектирования
Поскольку все языки программирования, применяемые в разработках на .NET Framework являются
объектно-ориентированными, каждый .NET разработчик должен иметь ясное представление о принципах
объектно-ориентированного программирования и анализа, а также уметь применять их на практике с учѐтом
возможностей языков .NET (C# и VB).
2.1.1 Основные требования
1. Понимание основополагающих принципов ООП: абстракции, наследования, инкапсуляции
и полиморфизма. Умение использовать эти принципы в языках программирования .NET:
C# (обязательно) и VB (желательно)
2. Умение применять объектно-ориентированный анализ при проектировании частей
приложений, и, как следствие, умение писать максимально эффективный ОО код
3. Умение разрабатывать приложения с применением шаблонов проектирования
2.1.2 Рекомендуемая литература и информационнные источники
1. Гради Буч: Объектно-ориентированный анализ и проектирование
2. Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес: Приемы ООП. Паттерны проектирования
3. Microsoft Corporation: Enterprise Solution Patterns Using Microsoft .NET
4. Judith Bishop: C# 3.0 Design Patterns
5. Martin Fowler: Patterns of Enterprise Application Architecture
2.2 Понимание принципов работы CLR и .NET Framework
Все .NET приложения выполняются под управлением общеязыковой среды выполнения (CLR – Common
Language Runtime). Понимание основных принципов работы CLR и .NET Framework имеет большое
значение при разработке .NET приложений.
2.2.1 Основные требования
1. Архитектура .NET Framework
2. Работа со сборками
Public
NIX Solutions, Ltd. 2010
Page 4
.NET
Educational Plan
Candidates' for Net Developers Self-education Plan
3.
4.
5.
6.
Version:
Date:
5
20 August 2011
Работа с типами и управление ими
Понимание процесса сбора мусора и работы сборщика мусора (GC – Garbage Collector)
Назначение доменов приложений
Умение работать с отражениями (reflection)
2.2.2 Рекомендуемая литература и информационнные источники
1. Jeffrey Richter: CLR via C#, Third Edition
2.3 Умение программировать на C#
Основным языком разработки приложений на .NET Framework является C#. По этой причине .NET
разработчик должен хорошо владеть приѐмами программирования на C#.
2.3.1 Основные требования
1.
2.
3.
4.
5.
6.
7.
8.
Умение проектировать классы и структуры, а также умение работать с объектами
Умение работать с коллекциями
Основы многопоточного программирования
Умение работать с делегатами
Работа с отражениями
Работа с сериализацией и сериализуемыми объектами
Применение модели освобождения ресурсов
Базовое представление о возможностях C# 2.0: generic-типы, nullable-типы, итераторы,
анонимные методы
9. Базовые знания о Framework 3.5: automatic properties, object initializes, anonymous types,
extension methods, lambdas, partial methods and LINQ (Language Integrated Query)
2.3.2 Рекомендуемая литература и информационнные источники
1.
2.
3.
4.
5.
Jeffrey Richter: CLR via C#, Third Edition
Эндрю Троелсен: C# и платформа.NET
Герберт Шилдт: Полный справочник по С#
Герберт Шилдт: C# Учебный курс
Simon Robinson, Christian Nagel, Karli Watson: Professional C#, 3rd edition
2.4 Работа с базами данных с применением существующей ORM системы
В данный момент существует достаточно большое количество подобных систем, которые облегчают
процесс разработки приложений при работе с базами данных. Это такие системы как: NHibernate, Entity
framework и Linq to SQL. Достаточно разобраться хотя бы с одной из них, понять принципы работы
и научиться применять в проектах (рекомендуется использовать NHibernate).
2.4.1 Основные требования
1. Работа с соединением и подключение к проекту
2. Разработка маппингов
3. Работа со связанными сущностями
4. Построение простейших и «кастомных» запросов к БД, используя встроенные возможности
системы
5. Выполнение CRUD операций
6. Умение работать с хранимыми процедурами
Public
NIX Solutions, Ltd. 2010
Page 5
.NET
Educational Plan
Candidates' for Net Developers Self-education Plan
Version:
Date:
5
20 August 2011
2.4.2 Рекомендованная литература и информационные источники
1.
2.
3.
4.
5.
Официальный сайт NHibernate: http://nhforge.org
http://fluentnhibernate.org/
http://weblogs.asp.net/zeeshanhirani/
http://msdn.microsoft.com/en-us/library/aa697427%28VS.80%29.aspx
http://slynetblog.blogspot.com/search/label/nhibernate
2.5 Разработка Web-приложений на ASP.NET
Благодаря ASP.NET разработка Web-приложений превратилась из рутинного программирования в
творческий процесс. Умение работать с ASP.NET позволяет создавать Internet-приложения за рекордные
сроки. Для претендента необходимым является умение работать с ASP.NET 2.0. Знание ASP.NET 1.1 и
ASP.NET 4.0 приветствуется.
2.5.1 Основные требования
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Работа с Web-формами
Понимание жизненного цикла страниц ASP.NET
Серверные элементы управления
Работа с объектами Session, Cache, Application, ViewState, Cookies
Работа с классом ASP.NET-приложения – Global.asax
Конфигурирование приложений ASP.NET, файл web.config
Объекты отображения данных: GridView, DataList, Repeater
Работа с веб-сервисами
Обязательное знание трёхуровневой архитектуры проектирования
Работа с JavaScript (работа с DOM, асинхронное взаимодействие с сервером)
Работа с CSS (оформление страницы, размещение элементов)
2.5.2 Рекомендуемая литература и информационнные источники
1. Мэтью Мак-Дональд, Марио Шпушта, Pro ASP.NET 4 in C# 2010
2. Дино Эспозито, Программирование с использованием Microsoft ASP.NET 3.5
3. Рейсиг Джон, JavaScript. Профессиональные приемы программирования (Pro JavaScript
Techniques)
4. Энди Бадд, Камерон Молл, Саймон Коллизон Мастерская CSS: профессиональное
применение Web-стандартов (CSS Mastery: Advanced Web Standards Solutions)
5. ASP.NET Page Life Cycle Overview — http://msdn2.microsoft.com/en-us/library/ms178472.aspx
6. Creating a Data Access Layer (на примере ASP.NET 2.0) —
http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnaspnettut/html/aspnet_tutorial01_dataaccesslayer_cs.asp
7. Creating a Business Logic Layer (на примере ASP.NET 2.0) —
http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnaspnettut/html/aspnet_tutorial02_businesslogiclayer_cs.asp
8. Building and using a 3-tiered data architecture with ASP.NET 2.0 —
http://asp.net/learn/dataaccess/default.aspx?tabid=63
Public
NIX Solutions, Ltd. 2010
Page 6
.NET
Educational Plan
Candidates' for Net Developers Self-education Plan
Version:
Date:
5
20 August 2011
9. Three-tier (computing) — http://en.wikipedia.org/wiki/Three_tier
2.6 Разработка Web-приложений на ASP.NET MVC
ASP.NET MVC является свободным, полностью поддерживаемым Microsoft продуктом, который позволяет
разработчикам легко создавать большие веб-приложения. Он обеспечивает полный контроль над вашим
HTML и URLs, дает богатые возможности интеграции AJAX, а также облегчает Test Driven Development.
2.6.1 Основные требования
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Понимание паттерна model-view-controller
Понимание процесса выполнения приложения
Работа с ASP.NET MVC Routing
Работа с Controllers и Actions
Работа с представлениями (умение разрабатывать различные представления на основе
готовых решений и создание собственных)
Работа с моделью приложения на основе существующей ORM
Работа с ASP.NET MVC Validation
Работа с Master Page
Работа с кэшем
Работа с разными способами аутентификации пользователей
2.6.2 Рекомендуемая литература и информационнные источники
1.
2.
3.
4.
ASP.NET MVC tutorials: http://www.asp.net/learn/mvc
Steven Sanderson, Pro ASP.NET MVC Framework
Rob Conery, Scott Hanselman, Phil Haack, Scott Guthrie, Professional ASP.NET MVC 1.0
Adam Freeman and Steven Sanderson: Pro ASP.NET MVC 3 Framrwork
2.7 Тестирование приложений
Умение автоматически тестировать собственные приложения является важным аспектом разработки
программ и повышает уровень кода, а также качество продукта в целом. Юнит тестирование
позволяет программисту не только проводить рефакторинг кода, будучи уверенным, что модуль по
прежнему работает корректно, но и изолировать отдельные части программы и показать, что по отдельности
они работоспособны. Правильно написанные тесты могут выступать в качестве документации, глядя
на которую, легко можно понять требования к тестируемой системе.
2.7.1 Основные требования
1. Понимание разработки в стиле TDD
2. Работа с NUnit framework
3. Понимание “Fake” объектов и умение их применять
2.7.2 Рекомендуемая литература и информационнные источники
1.
2.
3.
4.
Public
Roy Osherove, The art of Unit testing with examples in .NET
Кент Бек – Экстремальное программирование: разработка через тестирование
Официальный саит NUnit: http://nunit.org
Moq as mocking library: http://code.google.com/p/moq/wiki/QuickStart
NIX Solutions, Ltd. 2010
Page 7
Download