C#: программирование для профессионалов

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

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

Книга «C#: программирование для профессионалов»

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

Книга «C#: программирование для профессионалов» целиком и полностью посвящена языку C# и затрагивает все его версии, выпущенные на момент ее публикации. Первая версия C#, библиотеки инфраструктуры .NET Framework и общеязыковая исполняющая среда CLR рассматриваются только в связи с языком C# и достаточно бегло, поскольку сегодня большинство профессионалов, которые программируют на C#, имеют достаточный объем знаний в этой области. Версии 2 и 3 языка C# рассмотрены в подробных деталях и описанию их особенностей посвящена большая часть материала. Язык C# 4 стал мощнее и выразительнее, чем в прежних версиях, вобрав в себя обобщенные типы, лямбда-выражения, динамический ввод, LINQ, блоки итераторов и другие конструкции, которые позволяют делать удивительные вещи. Поэтому второе издание было пересмотрено и обновлено, здесь рассматриваются новые возможности языка C# 4, а также такие средства, как Code Contracts. Автор книги – Джон Скит, работает инженером по программному обеспечению в Google, является обладателем статуса MVP по C# с 2003 года и заметным участником сообщества C#, сердце которого принадлежит языку C#.

C#: программирование для профессионалов

Обзор книги «C#: программирование для профессионалов»

Отправляемся в путь, включает новые темы по C# 1, которые важны для понимания тем по C# 2 и 3 и которые зачастую понимают неправильно.

  1. Изменение способа разработки на C#. На примере простого фрагмента кода C# 1 показывается, как усовершенствование последующих версий языка позволяет сделать исходный код более читабельным и мощным. Демонстрируется исторический контекст возникновения языка C# и технический контекст, в котором он работает как часть платформы: язык C# построен на библиотеках инфраструктуры и мощной среде выполнения, превращающих абстракцию в действительность.
  2. Язык C# 1 – основа основ. Здесь автор затрагивает три специфических аспекта языка C# 1: делегаты, характеристики системы типов и различия между типами значений и ссылочными типами. Эти темы разработчики C# 1 зачастую понимают лишь достаточно поверхностно, но поскольку язык C# развился и значительно их усовершенствовал, четкое понимание основ обязательно для максимального использования новых возможностей.

Язык C# 2: решение проблем языка C# 1, рассматривает новые возможности языка C# второго поколения.

  1. Параметрическая типизация с обобщениями, посвящена самому важному преимуществу языка C# 2 обобщениям. Методы и типы могут быть написаны обобщенно, их параметры типа будут заменены реальными типами, указанными в вызывающем коде. Вначале все это может показаться таким же запутанным, как и данное описание, но как только вы разберетесь в обобщениях, то зададитесь вопросом, как же вы жили раньше без них.
  2. Типы, допускающие значения null, познакомит вас с типами, допускающими значения null, средствами на базе обобщений и преимуществами их поддержки языком, средой выполнения и инфраструктурой.
  3. Скоростные делегаты, демонстрирует усовершенствования делегатов в языке C# 2. До сих пор вы, возможно, использовали делегаты только для обработки событий, таких как щелчки на кнопках. Язык C# 2 облегчает создание делегатов, а поддержка библиотекой делает их более применимыми в ситуациях, которые отличаются от обработки событий.
  4. Простой путь реализации итераторов, описывает итераторы и простой способ их реализации в языке C# 2. Немногие разработчики используют блоки итераторов, но поскольку LINQ to Objects основан на итераторах, их важность повышается. “Ленивый” характер их выполнения – это также ключевая часть LINQ.
  5. Заключение C# 2: финальные средства, демонстрирует множество средств меньшего масштаба, добавленных в язык C# 2, которые тем не менее существенно упрощают жизнь разработчика. Разработчики языка постарались смягчить несколько острых углов, присущих языку C# 1, обеспечив в последующих версиях более гибкое взаимодействие с генераторами кода, улучшив поддержку вспомогательных классов, увеличив подробность контроля доступа к свойствам и многое другое.

Язык C# 3: революция в программировании, посвящена новым возможностям языка C# третьего поколения.

  1. Интеллектуальный компилятор. Здесь еще раз рассматривается несколько относительно простых средств, но на сей раз в языке C# 3. Почти весь новый синтаксис приспособлен к задачам LINQ, но он также полезен и сам по себе. Обладая анонимными типами, автоматически реализованными свойствами, неявно типизированными локальными переменными и существенно улучшенной поддержкой инициализации, язык C# 3 предоставляет намного больше возможностей, при помощи которых ваш код может выразить свое поведение.
  2. Лямбда-выражения и деревья выражений, посвящена главной теме языка C# 3 – лямбда выражениям. Разработчики языка упростили работу с делегатами, по сравнению с языком C# 2. Лямбда-выражения способны на большее: они могут быть преобразованы в деревья выражений – это мощнейший способ представить код как данные.
  3. Методы расширения. Здесь исследуются методы расширения, которые позволяют обмануть компилятор и заставить его поверить, что методы, объявленные в одном типе фактически, принадлежат другому. На первый взгляд это проблема удобочитаемости, но на самом деле – чрезвычайно мощная возможность, жизненно важная для LINQ.
  4. Выражения запросов и LINQ to Objects, объединяет три предыдущие темы в контексте выражений запросов – краткого, но мощного способа запроса данных. Сначала речь пойдет про LINQ to Objects, а затем – о том, как шаблон выражения LINQ-запроса позволяет задействовать другие провайдеры данных.
  5. LINQ вне коллекций, содержит краткий обзор различных способов использования LINQ. Для начала рассматриваются преимущества выражений запросов в комбинации с деревьями выражений: демонстрация того, как LINQ to SQL позволяет преобразовать то, что выглядит нормально на языке C#, в операторы SQL. Затем автор рассказывает про то, как могут быть разработаны библиотеки для LINQ, например для LINQ to XML. Совместно LINQ и Reactive Extensions демонстрируют два альтернативных подхода к внутреннему процессу запроса. Завершает эту тему обсуждение дополнения LINQ to Objects собственными операторами LINQ.

C# 4: приятно поиграть с другими, рассказывает про новые функциональные возможности C# 4, которые облегчают жизнь разработчика при интеграции его кода с другими сборками, библиотеками и приложениями.

  1. Небольшие изменения для упрощения кода. Здесь рассматриваются именованные аргументы и необязательные параметры, усовершенствование взаимодействия с моделью COM и обобщенная вариантность. До некоторой степени это разные средства, но именованные аргументы и необязательные параметры обеспечивают поддержку взаимодействия с моделью COM, а также других, весьма специфических возможностей, которые доступны только при работе с объектами COM.
  2. Динамическое связывание в статическом языке, описывает одно крупное средство языка C# 4: динамические типы. Способность динамической привязки членов во время выполнения, а не статической во время компиляции, является серьезным отклонением от концепции C#, но применяется оно выборочно: динамически будет выполняться только тот код, в котором участвуют динамические значения.
  3. Позволим нашему коду выражаться яснее с помощью Code Contracts, посвящена вероятному будущему кода C#, а не новым возможностям самого языка. Здесь рассматриваются Code Contracts и новый набор библиотек и инструментальных средств от Microsoft, позволяющих намного подробнее выражать то, в чем нуждаются ваши методы и что они должны гарантировать жестче, чем может сама система типов.
  4. Что дальше – это размышления автора о том, с чего все начиналось, о текущем состоянии отрасли и ее вероятном будущем.

После основного материала приводится несколько приложений, в которых содержатся справочные сведения.

  1. Стандартные операторы запроса LINQ. Здесь рассматриваются стандартные операторы запросов LINQ с некоторыми примерами.
  2. Обобщенные коллекции в .NET, представляет базовые обобщенные классы коллекций и интерфейсы, включая новые параллельные коллекции .NET 4.
  3. Итог по версиям, содержит краткий обзор различных версий .NET, включая такие разновидности, как Compact Framework и Silverlight.

Книга «C#: программирование для профессионалов» идеальна для профессиональных разработчиков, у которых есть желание разобраться в последней версии языка C#. Но эта книга также для тех разработчиков, которые хотят обогатить свои знания новыми принципами проектирования. Чтобы извлечь максимум преимуществ из новых возможностей языка C#, потребуется новый взгляд на данные, функции и отношения между ними.

Формат: PDF + Исходный код примеров
Качество: eBook
Страниц: 544

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