Наша книжная полка. Том 4
CLR via C#
Очередной том, появившийся на нашей книжной полке, знаменателен во многих отношениях. Во-первых, это книга, которую должен прочесть (или хотя бы пролистать) каждый разработчик, профессионально занимающийся созданием приложений на платформе Microsoft .NET. Во-вторых, эта книга – лучшее на сегодняшний день описание того, как устроена подсистема Common Language Runtime (CLR), базовые библиотеки классов (Framework Class Library, Base Class Library) и как использовать язык C# для разработки .NET-приложений. Не ищите здесь описания технологий создания Windows-приложений, Веб-приложений или реализации бизнес-логики и создания веб-сервисов, CLR via C# - про ядро, про основы. Автор книги – Джеффри Рихтер (Jeffrey Richter) известен многим и по книгам по программированию (в частности, Windows via C/C++ , в русском переводе – «Windows для профессионалов») и по публикациям в журнале MSDN Magazine. Помимо этого Джеффри часто выступает на различных конференциях, таких, как Microsoft Professional Developers Conference (PDC).
3-е издание, выпущенное весной 2010 г., покрывает ряд новинок, появившихся в .NET Framework, включая описание основ поддержки параллельных вычислений. На более чем 850 стр. автору удалось расположить внушительный объем информации, разделенный на 29 глав. Знакомство с CLR via C# начинается с обсуждения того, как происходит выполнение приложений под управлением Common Language Runtime, затем автор останавливается на темах сборки и развертывания приложений и использования разделяемых сборок и сборок со строгим именованием (strongly named assemblies).
Вторая часть книги посвящена типам – от основ (System.Object), примитивных и ссылочных типов до методов, параметров, свойств, событий и интерфейсов. После обсуждения основных типов мы переходим к расширенным типам – строкам, перечислениям и флагам, массивам, делегатам, атрибутам и типам с пустыми значениями.
Познакомившись с базовыми и расширенными типами, мы переходим к сервисам, обеспечиваемым на уровне Common Language Runtime – обработке исключений и управлению состоянием, сборке мусора и автоматическому управлению памятью, доменами приложений и хостингу CRL, загрузке сборок и механизму reflection, а также сериализации во время выполнения.
Последняя часть посвящена потокам – от основ их использования до выполнения асинхронных операции с использованием новых для .NET Framework 4 примитивов, работы с подсистемой ввода/вывода и обсуждения вопросов синхронизации доступа к данным в многопоточных приложениях.
Каждая тема сопровождается большим числом примеров, на практике поясняя те или иные теоретические аспекты, примеры минимальны – они иллюстрируют ровно то, что хочет донести автор, используя для ввода/вывода консоль – поэтому листинги компактны по объему и могут быть воспроизведены по мере знакомства с материалом. Впрочем, на сайте автора можно найти и полный архив примеров, сопровождающих книгу.
Возможно, после прочтения данной книги вам захочется «прикоснуться к основам» - в этом случае можно порекомендовать знакомство со стандартом ECMA на язык C# и Common Language Infrastructure (http://msdn.microsoft.com/en-us/netframework/aa569283.aspx) или с исходным текстом библиотеки .NET Framework (см. http://referencesource.microsoft.com/netframework.aspx).
Страница книги на сайте компании - http://oreilly.com/catalog/9780735627048/
/АФ