Язык программирования C# 2010 и платформа .NET 4

Интернет-портал MegaWEB

Интернет-портал MegaWEB содержит много ресурсов для веб-мастеров, интернет-разработчиков, веб-дизайнеров и seo-оптимизаторов. Это видеоуроки, книги и справочники в формате ebook: PDF-CHM-DJVU, а также программы и утилиты для того, чтобы сделать сайт или раскрутить сайт в сети Интернет.

Книга «Язык программирования C# 2010 и платформа .NET 4»

Версия для печати и PDA

Книга «Язык программирования C# 2010 и платформа .NET 4» может служить исчерпывающим руководством по языку программирования C#, включая рассмотрение принципов ООП и основных аспектов платформы NET 4. Автором этого бестселлера является Эндрю Троелсен – партнер, инструктор и консультант в компании Intertech, а также ведущий автор множества известных изданий по тематике NET и COM. В пятом издании материал был полностью пересмотрен и расширен с целью охвата новых средств языка C# 2010 и платформы NET 4.0. Вы найдете информацию по таким новым компонентам, как Dynamic Language Runtime, Task Parallel Library, Parallel LINQ и ADO.NET Entity Framework. Основное внимание уделяется предоставлению информации, которой необходимо владеть для того, чтобы разрабатывать программные решения прямо сегодня, а не глубокому изучению малоинтересных эзотерических деталей.

Язык программирования C# 2010 и платформа .NET 4

Обзор книги «Язык программирования C# 2010 и платформа .NET 4»

Общие сведения о языке C# и платформе .NET, дает общее ознакомление с природой платформы NET и различными средствами разработки, которые могут применяться при построении приложений для NET, а также некоторыми основными концепциями языка программирования C# и системы типов NET Framework.

  1. Философия .NET, выступает в роли основы для изучения всего остального излагаемого материала. Сначала рассказывается о традиционной разработке приложений Windows и недостатках, которые существовали в этой сфере ранее. Главной целью здесь ставится ознакомление читателя с набором ключевых составляющих NET: общеязыковой исполняющей средой CLR, общей системой типов CTS, общеязыковой спецификацией CLRS и библиотеками базовых классов. Вы сможете получить первоначальное впечатление о том, что собой представляет язык программирования C#, как выглядит формат сборок NET, и узнать о независимой от платформы природе NET.
  2. Создание приложений на языке C#, знакомит читателя с процессом компиляции файлов исходного кода на C# с применением различных средств и методик. Показано, как использовать компилятор командной строки C# – csc.exe и файлы ответов, а также различные редакторы кода и интегрированные среды разработки, в том числе Notepad++, SharpDevelop, Visual C# 2010 Express и Visual Studio 2010. Кроме того, вы узнаете о том, как устанавливать на машину разработки локальную копию документации NET Framework 4.0 SDK.

Главные конструкции программирования на C#, объединяет темы, которые довольно важны для разработки приложений NET любого типа: веб-приложения, настольные приложения с GUI или для консоли, библиотеки кода и служб Windows. Здесь читатель ознакомится с основными конструкциями языка C# и некоторыми деталями ООП, обработкой исключений на этапе выполнения, а также автоматическим процессом сборки мусора в NET.

  1. Главные конструкции программирования на C#: (Ч-I), начинается с формального изучения языка программирования C#. Вы узнаете о роли метода Main() и многочисленных деталях работы с внутренними типами данных в NET, в том числе – о манипуляциях текстовыми данными с помощью System.String и System.Text.StringBuilder. Кроме того, здесь описаны итерационные конструкции и конструкции принятия решений, операции сужения и расширения, а также ключевое слово unchecked.
  2. Главные конструкции программирования на C#: (Ч-II), завершает рассмотрение ключевых аспектов C#. Показано, как создавать перегруженные методы в типах и определять параметры с использованием ключевых слов out, ref и params. Также рассматриваются появившиеся в C# 2010 концепции именованных аргументов и необязательных параметры. Дополнительно описаны создание и манипулирование массивами данных, определение нулевых типов с помощью операций ? и ?? и отличия типов значения, включающих перечисления и специальные структуры, от ссылочных типов.
  3. Определение инкапсулированных типов классов, начинает рассмотрение концепций ООП в языке C#. Сначала объясняются базовые понятия объектно-ориентрованного подхода такие как инкапсуляция, наследование и полиморфизм. Затем показывается, как создавать надежные типы классов с применением конструкторов, свойств, статических членов, констант и доступных только для чтения полей. В заключение рассматриваются частичные определения типов, синтаксис инициализации объектов и автоматические свойства.
  4. Понятия наследования и полиморфизма, познакомит вас с двумя основополагающими концепциями ООП – наследование и полиморфизм, которые позволяют создавать семейства взаимосвязанных типов классов. Описана роль виртуальных и абстрактных методов, абстрактных базовых классов и полиморфных интерфейсов. В заключение рассматривается роль одного из главных базовых классов в NET – System.Object.
  5. Структурированная обработка исключений, посвящена решению проблемы аномалий, возникающих в коде во время выполнения, за счет применения методики структурированной обработки исключений. Описаны ключевые слова, предусмотренные для этого в языке C#: try, catch, throw и finally, а также отличия между исключениями уровня приложения и уровня системы. Кроме того, рассматриваются различные инструменты, предлагаемые в Visual Studio 2010, которые предназначены для проведения отладки исключений.
  6. Время жизни объектов, рассказывает об управлении памятью CLR-средой с использованием сборщика мусора NET Framework. Описана роль корневых элементов приложений, поколений объектов и типа System.GC. Показано, как создавать самоочищаемые объекты с применением интерфейса IDisposable и обеспечивать процесс финализации с помощью метода System.Object.Finalize(). Вы узнаете о появившемся в NET 4.0 классе Lazy<T>, который позволяет определять данные так, чтобы они не размещались в памяти до тех пор, пока вызывающая сторона не запросит их.

Дополнительные конструкции программирования на C#, предоставляет читателю возможность углубить знания языка C# за счет изучения других более сложных концепций. Здесь завершается ознакомление с системой типов NET Framework описанием типов делегатов и интерфейсов. Кроме того, описана роль обобщений и дано краткое введение в язык LINQ. Также рассматриваются некоторые более сложные средства C#, такие как методы расширения, частичные методы и приемы манипулирования указателями.

  1. Работа с интерфейсами, предполагает наличие понимания концепций ООП и посвящена программированию с использованием интерфейсов. Здесь показано, как определять классы и структуры, поддерживающие множество поведений, как обнаруживать эти поведения во время выполнения и как выборочно скрывать какие-то из них за счет явной реализации интерфейсов. Помимо создания специальных интерфейсов, рассматриваются вопросы реализации стандартных интерфейсов из состава среды NET и их применения для построения объектов, которые могут сортироваться, копироваться, перечисляться и сравниваться.
  2. Обобщения, научит вас создавать типы и члены типов, содержащие заполнители, которые заполняются вызывающим кодом. В целом, обобщения позволяют значительно улучшить производительность приложений и безопасность в отношении типов. Рассматриваются типы обобщений из пространства имен System.Collections.Generic, и демонстрируется создание собственных обобщенных методов и типов данных, как с ограничениями, так и без них.
  3. Делегаты, события и лямбда-выражения. Благодаря представленной здесь информации, станет понятно, что собой представляет тип делегата, с помощью которого можно создавать системы, позволяющие многочисленным объектам взаимодействовать между собой в обоих направлениях. После изложения способов применения делегатов в NET показывается, как применять в C# ключевое слово event, которое упрощает манипулирование делегатами. Кроме того, рассматривается роль лямбда-операции и связь между делегатами, анонимными методами и лямбда-выражениями.
  4. Расширенные средства языка C#, описывает расширенные средства языка C#, такие как перегрузка операций, создание специальных процедур явного и неявного преобразования для типов, построение и взаимодействие с индексаторами типов, работа с расширяющими методами, анонимными типами, частичными методами, а также указателями C# с использованием в коде контекста unsafe.
  5. LINQ to Object, начинается с рассмотрения язык интегрированных запросов LINQ, который позволяет создавать строго типизированные выражения запросов, применять их к ряду различных целевых объектов LINQ и тем самым манипулировать данными в самом широком смысле этого слова. Представленный здесь материал посвящен API-интерфейсу LINQ to Objects, который позволяет применять LINQ-выражения к контейнерам данных: массивам, коллекциям и специальным типам. Данная информация будет полезна позже при рассмотрении других дополнительных API-интерфейсов, таких как LINQ to XML, LINQ to DataSet, PLINQ и LINQ to Entities.

Программирование с использованием сборок .NET, посвящена деталям формата сборок NET. Вы узнаете не только о способах развертывания и конфигурирования библиотек кода NET, но также о внутреннем устройстве двоичного образа NET. Описана роль атрибутов NET и определения информации о типе во время выполнения. Кроме того, рассматривается роль исполняющей среды динамического языка DLR в NET 4.0 и ключевого слова dynamic в C# 2010. В заключение объясняется, что собой представляют контексты объектов, как устроен CIL-код и, как создавать сборки в памяти.

  1. Конфигурирование сборок .NET, показывает, чем отличаются однофайловые и многофайловые сборки, как создавать и развертывать сборки обеих разновидностей, как делать сборки приватными и разделяемыми с использованием XML-файлов *.config и специальных сборок политик издателя. Кроме того, здесь описан глобальный кэш сборок CAG, а также изменения CAG в версии NET 4.0.
  2. Рефлексия типов, позднее связывание и программирование с использованием атрибутов. Здесь показано, как обнаруживать типы во время выполнения с использованием пространства имен System.Reflection. Рассматривается динамическая загрузка и создание типов во время выполнения с помощью позднего связывания, а также роль стандартных и специальных атрибутов NET. Для закрепления материала приводится пример построения расширяемого приложения Windows Forms.
  3. Процессы, домены приложений и контексты объектов. Основной целью данной темы является иллюстрация отношений между процессами, доменами приложений и контекстными границами. Все эти понятия подготавливают базу для изучения процесса создания многопоточных приложений.
  4. Язык CIL и роль динамических сборок, подробно описывает синтаксис и семантику языка CIL и роль пространства имен System.Reflection.Emit, с помощью типов которого можно создавать программное обеспечение, способное генерировать сборки NET в памяти во время выполнения.
  5. Динамические типы и исполняющая среда динамического языка, рассматривает некоторые практические способы применения динамических данных, включая более гладкое использование API-интерфейса рефлексии NET, а также упрощенное взаимодействие с унаследованными библиотеками COM.

Введение в библиотеки базовых классов .NET, посвящена рассмотрению рядя наиболее часто применяемых служб, поставляемых в составе библиотек базовых классов NET, включая создание многопоточных приложений, файловый ввод-вывод и доступ к базам данных с помощью ADO.NET. Здесь также показано, как создавать распределенные приложения с помощью WCF и приложения с рабочими потоками, которые используют API-интерфейсы Windows Workflow Foundation и LINQ to XML.

  1. Многопоточность и параллельное программирование, демонстрирует ряд приемов, которые можно применять для написания кода, безопасного в отношении потоков. Сначала кратко напоминается о том, что собой представляет тип делегата в NET для упрощения понимания предусмотренной в нем внутренней поддержки для асинхронного вызова методов. Затем рассматриваются типы пространства имен System.Threading и новый API-интерфейс библиотеки параллельных задач TPL, появившийся в NET 4.0. Также здесь описан API-интерфейс PINQ, который позволяет создавать масштабируемые LINQ-запросы.
  2. Файловый ввод-вывод и сериализация объектов, показывает, как программно создавать и удалять систему каталогов и перемещать данные в различные файловые, строковые или находящиеся в памяти потоки. Рассматриваются службы NET, предназначенные для сериализации объектов. Описана настройка процесса сериализации с применением интерфейса ISerializable и набора атрибутов NET.
  3. ADO.NET (подключенный уровень), дает введение в API-интерфейс ADO.NET. Рассматривается роль поставщиков данных NET и взаимодействие с реляционной базой данных с применением так называемого подключенного уровня ADO.NET, который представлен объектами подключения, объектами команд, объектами транзакций и объектами чтения данных. Приводится пример создания специальной базы данных и первой версии специальной библиотеки доступа к данным AutoLotDAL.dll, неоднократно применяемой далее.
  4. ADO.NET (автономный уровень), продолжает описание способов работы с базами данных и рассказывает об автономном уровне ADO.NET. Рассматривается роль типа DataSet и объектов адаптеров данных, а также многочисленных средств Visual Studio 2010, которые способны упростить процесс создания приложений, управляемых данными. Показано, как связывать объекты DataTable с элементами пользовательского интерфейса, а также как применять запросы LINQ к находящимся в памяти объектам DataSet с использованием API-интерфейса LINQ to DataSet.
  5. ADO.NET (Entity Framework), завершает изучение ADO.NET и рассматривает роль технологии Entity Framework, которая позволяет создавать код доступа к данным с использованием строго типизированных классов, напрямую отображающихся на бизнес-модель. Описаны роли таких входящих в состав EF компонентов, как службы объектов, клиент сущностей и контекст объектов. Показано устройство файла *.edmx, а также взаимодействие с реляционными базами данных с применением API-интерфейса LINQ to Entities. Здесь создается последняя версия специальной библиотеки доступа к данным AutoLotDAL.dll, которая будет использоваться в нескольких последних темах.
  6. Введение в LINQ to XML, предлагает читателю углубить свои знания о технологии LINQ и научиться применять запросы LINQ к XML-документам. Сначала рассматриваются сложности, которые существовали в NET первоначально в области манипулирования XML-данными, на примере применения типов из сборки System.Xml.dll. Затем показываются, как создавать XML-документы в памяти, обеспечивать их сохранение на жестком диске и перемещаться по их содержимому с использованием модели программирования LINQ to XML.
  7. Введение в Windows Communication Foundation, познакомит вас с API-интерфейсом Windows Communication Foundation, который позволяет создавать распределенные приложения симметричным образом, какими бы не были лежащие в их основе низкоуровневые детали. Показано, как создавать службы, хосты и клиентские приложения WCF. Кроме того, рассматриваются полезные сокращения, которые появились в NET 4.0.
  8. Введение в Windows Workflow Foundation 4.0, описывает роль приложений, поддерживающих рабочие потоки, и способы моделирования бизнес-процессов с применением API-интерфейса WF 4.0. Рассматривается библиотека действий, поставляемая в составе WF 4.0, а также показано, как создавать специальные действия.

Построение настольных пользовательских приложений с помощью WPF. В NET 3.0 был предложен замечательный API-интерфейс под названием Windows Presentation Foundation – WPF. Он быстро стал заменой модели программирования настольных приложений Windows Forms. WPF позволяет создавать настольные приложения с векторной графикой, интерактивной анимацией и операциями привязки данных с использованием декларативной грамматики разметки XAML. Более того, архитектура элементов управления WPF позволяет легко изменять внешний вид и поведение любого элемента управления с помощью правильно оформленного XAML-кода. Все эти вопросы обсуждаются в рамках данного раздела.

  1. Введение в Windows Presentation Foundation и XAML, предлагает читателю введение в WPF и расширяемый язык разметки приложений XAML. Показано, как создавать WPF-приложения без использования только кода без XAML, с использованием одного лишь XAML и с применением обоих подходов вместе. Приведен пример создания специального XAML-редактора, который пригодится при изучении других вопросов, посвященных WPF.
  2. Программирование с использованием элементов управления WPF, научит вас работать с предлагаемыми в WPF элементами управления и диспетчерами компоновки. Показано, как создавать системы меню, разделители окон, панели инструментов и строки состояния. Рассматриваются API-интерфейсы и связанные с ними элементы управления, входящие в состав WPF – Documents API, Ink API и модель привязки данных. Приводится начальное описание IDE-среды Expression Blend, которая значительно упрощает процесс создания многофункциональных пользовательских интерфейсов для приложений WPF.
  3. Службы визуализации графики WPF, подробно описывает три пути визуализации графических данных – фигуры, рисунки и визуальные объекты. Кроме того, рассматривается набор важных графических примитивов, таких как кисти, перья и трансформации, применение Expression Blend для создания графики. Также показано, как выполнять операции проверки попадания hit-testing в отношении графических данных.
  4. Ресурсы, анимация и стили WPF, освещает три важных и связанных между собой вопроса, которые позволят углубить знания API-интерфейса Windows Presentation Foundation. В первую очередь рассказывается о роли логических ресурсов. Показано, как определять, выполнять и управлять анимационной последовательностью. И, наконец, рассматривается роль стилей в WPF.
  5. Шаблоны элементов управления WPF и пользовательские элементы управления, завершает изучение модели программирования WPF и демонстрирует процесс создания специализированных элементов управления. Сначала рассматриваются два важных вопроса, связанных с созданием любого специального элемента – свойства зависимости и маршрутизируемые события. Затем описывается роль шаблонов по умолчанию и способы их просмотра в коде во время выполнения. Наконец, рассказывается о том, как создавать специальные классы UserControl с помощью Visual Studio 2010 и Expression Blend, в том числе и с применением NET 4.0 Visual State Manager.

Построение веб-приложений с использованием ASP.NET, посвящена деталям построения веб-приложений с применением API-интерфейса ASP.NET, который был разработан Microsoft специально для предоставления возможности моделировать процесс создания настольных пользовательских интерфейсов путем наложения приемов ООП и управляемой событиями платформы поверх запросов и ответов протокола HTTP.

  1. Построение веб-страниц ASP.NET, начинает изучение процесса разработки веб-приложений с помощью ASP.NET. Показано, как вместо кода серверных сценариев применять самые настоящие объектно-ориентированные языки наподобие C# и VB.NET. Рассматриваются типовой процесс создания веб-страницы ASP.NET, лежащая в основе модель программирования и другие важные аспекты ASP.NET, вроде того, как выбирать веб-сервер и работать с файлами Web.config.
  2. Веб-элементы управления, мастер-страницы и темы ASP.NET. Здесь описаны основные веб-элементы управления ASP.NET, включая элементы управления проверкой достоверности, элементы управления навигацией по сайту и различные операции привязки данных. Кроме того, рассматривается роль мастер-страниц и механизма применения тем ASP.NET, который является серверным аналогом традиционных таблиц стилей.
  3. Управление состоянием в ASP.NET, описывает разнообразные способы управления состоянием в NET. Рассказывается о роли базового класса HttpApplication и демонстрируется динамическое переключение поведения веб-приложения с помощью файла Web.config.

Приложения, объединяет два вопроса, которые не совсем вписывались в контекст основного материала. В частности, здесь кратко рассматривается более ранняя платформа Windows Forms для построения графических интерфейсов настольных приложений, а также использование платформы Mono для создания приложений NET, функционирующих под управлением операционных систем, отличных от Microsoft Windows.

  1. Программирование с помощью Windows Forms, описывает роль каркаса для построения настольных пользовательских интерфейсов. Показано, как с его помощью создавать главные окна, диалоговые окна и системы меню. Кроме того, обсуждаются вопросы наследования форм и визуализации двухмерной графики с помощью пространства имен System.Drawing. Приводится пример создания программы для рисования, иллюстрирующий практическое применение всех описанных концепций.
  2. Независимая от платформы разработка .NET-приложений с помощью Mono, посвящено использованию распространяемой с открытым исходным кодом реализации платформы NET под названием Mono, позволяющую разрабатывать многофункциональные приложения NET, которые можно создавать, развертывать и выполнять под управлением самых разных операционных систем, включая Mac OS X, Solaris, AIX и многочисленные дистрибутивы Linux. Основное внимание уделено не возможностям платформы Mono, а процессу ее установки, предлагаемым в ее составе инструментам для разработки, а также используемому механизму исполняющей среды.

Книга «Язык программирования C# 2010 и платформа .NET 4» предназначена для опытных разработчиков программного обеспечения, заинтересованных в освоении новых средств NET Framework 4 и языка C#. Она будет служить настольным справочником как для тех, кто впервые переходит на платформу NET, так и для тех, кто ранее писал приложения для версий NET 2.0 или NET 3.5. Внимательно изучив материал, изложенный в издании, вы сможете применять свои знания на практике и успешно продолжать исследование бесконечной вселенной NET.

Формат: PDF + Примеры кода
Качество: eBook
Страниц: 1392

Поделиться с друзьями