Сообщений 20    Оценка 39 [+1/-0]         Оценить  
Система Orphus

C# и платформа .Net

Библиотека программиста

Автор: Эндрю Троелсен
Издательство: "Питер", 2002
800 страниц

Материал предоставил: Андрей Мартынов
Найти в магазинах
Купить в Озоне (293 руб.)
Купить в Books.Ru
Купить в Болеро (280 руб.)
Купить в My-Shop.ru (272 руб.)


Аннотация
Оглавление
Комментарии

ПРИМЕЧАНИЕ
Существует новое издание этой книги

Аннотация

Основная цель этой книги — дать читателю прочные знания синтаксиса и семантики C#, а также разобрать особенности архитектуры .NET. После ее прочтения вы познакомитесь со всеми основными областями, охваченными библиотекой базовых классов C#. Для приобретения практических навыков книга содержит множество примеров, иллюстрирующих излагаемый материал. Для работы с книгой не нужен какой-либо предварительный опыт работы с C# и платформой .NET, однако при ее написании авторы ориентировались на тех разработчиков, которые уже имеют опыт работы с одним из современных языков программирования (C++, Visual Basic, Java или каким-либо другим).

Оглавление

Предисловие

Благодарности

Глава 1. Философия .NET

Современное состояние дел
Решение .NET
Строительные блоки .NET (CLR, CTS и CLS)
Преимущества C#
Языки программирования .NET
Обзор двоичных файлов .NET (`сборки`)
Роль Microsoft Intermediate Language
Роль метаданных
Компиляция IL в платформенно-зависимые инструкции
Типы .NET и пространства имен .NET
Основы Common Language Runtime - среды выполнения .NET
Стандартная система типов CTS
Основы CLS
Работа с пространствами имен
Важнейшие пространства имен .NET
Обращения к внешним сборкам
Как получить дополнительную информацию о пространствах имен и типах
Создание приложений C# с использованием компилятора командной строки
Создание приложений C# с использованием интегрированной среды разработки Visual Studio.NET
Подведение итогов

Глава 2. Основы языка C#

Анатомия класса C#
Композиция приложения C#
Средства форматирования строк в C#
Структурные и ссылочные типы
Точка отсчета для любых типов: System.Object
Системные типы данных и псевдонимы C#
От структурного типа к ссылочному типу и наоборот: упаковка и распаковка
Значения по умолчанию для встроенных типов данных
Константы
Циклы в C#
Средства управления логикой работы программ
в C# Дополнительные операторы C#
Определение пользовательских методов класса
Статические методы и методы экземпляров
Работа с массивами
Работа со строками
Перечисления C#
Определение структур в C#
Еще раз об упаковке и распаковке
Определяем пользовательские пространства имен
Подведение итогов

Глава 3. C# и объектно-ориентированное программирование

Формальное определение класса в C#
Определение открытого интерфейса по умолчанию
Столпы объектно-ориентированного программирования
Средства инкапсуляции в C#
Псевдоинкапсуляция: создание полей `только для чтения`
Поддержка наследования в C#
Хранение `семейных тайн`: ключевое слово protected
Определение вложенных типов
Поддержка полиморфизма в C#
Приведение типов в C#
Обработка исключений
Жизненный цикл объектов
Завершение ссылки на объект
Создание метода удаления для конкретного случая
Взаимодействие со сборщиком мусора
Подведение итогов

Глава 4. Интерфейсы и коллекции

Программирование с использованием интерфейсов
Создание пользовательского нумератора (интерфейсы IEnumerable и IEnumerator)
Создание клонируемых объектов (интерфейс ICloneable)
Создание сравниваемых объектов (интерфейс IComparable)
Пространство имен System.Collections
Подведение итогов

Глава 5. Дополнительные возможности классов C#

Создание пользовательского индексатора
Перегрузка операторов
Делегаты
События
Документирование в формате XML
Просмотр файла документации в формате XML
Создание документации в формате HTML
Подведение итогов

Глава 6. Сборки, потоки и домены приложений

Проблемы с классическими двоичными файлами COM
Обзор сборок .NET
Создание тестовой однофайловой сборки
Клиентское приложение C#
Клиентское приложение Visual Basic.NET
Межъязыковое наследование
Подробности манифеста CarLibrary
Метаданные и код IL для типов CarLibrary
Частные сборки
Технология `зондирования`
Сборки для общего доступа
Общие (`сильные`) имена сборок
Применение сборки для общего пользования в приложении
Политика версий .NET
Запись информации о версии
Управление загрузкой разных версий сборок
Администраторский файл конфигурации
Работа с потоками в традиционных приложениях Win32
Что такое домен приложения
Пространство имен System.Threading
Именованные потоки
Ключевое слово lock
Применение System.Threading.Interlocked
Подведение итогов

Глава 7. Рефлексия типов и программирование с использованием атрибутов

Что такое рефлексия типов
Класс Type
Типы пространства имен System.Reflection
Загрузка сборки
Применение позднего связывания
Применение динамических сборок
Программирование с использованием атрибутов
Создание пользовательских атрибутов
Файл AssemblyInfo.cs
Как работать с атрибутами в процессе выполнения программы
Подведение итогов

Глава 8. Окна становятся лучше: введение в Windows.Forms

Два главных пространства имен для организации графического интерфейса
Обзор пространства имен Windows.Forms
Взаимодействие с типами Windows.Forms
Класс System.Windows.Forms.Application
Анатомия формы
Класс Component
Класс Control
События класса Control
Реагируем на события клавиатуры
Еще немного о классе Control
Класс ScrollableControl
Класс ContainerControl
Класс Form
Создаем меню
Создание системы меню в приложении
Создаем меню при помощи IDE Visual Sudio.NET
Что такое строка состояния
Создаем панель инструментов
Создаем панели инструментов при помощи Visual Studio IDE
Пример приложения Windows Forms для работы с реестром и журналом событий Windows 2000
Взаимодействие с журналом событий Windows 2000
Подведение итогов

Глава 9. Графика становится лучше (GDI+)

Обзор пространств имен GDI+
Пространство имен System.Drawing
Служебные типы System.Drawing
Сеансы вывода графики
Возможности класса Graphics
Система координат по умолчанию в GDI+
Работа с цветом
Работа со шрифтами
Обзор пространства имен System.Drawing.Drawing2D
Вывод изображений
Перетаскивание, проверка попадания в область, занимаемую изображением,и элемент управления PictureBox
Работа с форматами реcурсов .NET
Пространство имен System.Resources
Работаем с типом ResourceWriter
Работаем с типом ResourceManager
Работа с ресурсами при помощи IDE Visual Studio.NET
Подведение итогов


Глава 10. Элементы управления

Иерархия классов элементов управления
Как вручную добавить элементы управления на форму
Как добавить элементы управления на форму при помощи Visual Studio
Элемент управления TextBox
Великая и могучая кнопка (а также родительский класс ButtonBase)
Работаем с флажками
Работаем с переключателями и группирующими рамками
Настраиваем порядок перехода по Tab
Элемент управления TrackBar
Элемент управления MonthCalendar
Еще немного о типе DateTime
Элементы управления UpDown
Элемент управления Panel
Всплывающие подсказки (ToolTips) для элементов управления
Элемент управления ErrorProvider
Закрепление элемента управления в определенном месте формы
Стыковка элемента управления с краем формы
Создание пользовательских диалоговых окон
Наследование форм
Подведение итогов

Глава 11. Ввод, вывод и сериализация объектов

Знакомство с пространством имен System.IO
Типы Directory(Info) и File(Info)
Получение доступа к файлам через объект DirectoryInfo
Создаем подкаталоги при помощи класса DirectoryInfo
Статические члены класса Directory
Класс FileInfo
Абстрактный класс Stream
Классы StreamWriter и StreamReader
Класс StringWriter
Класс StringReader
Работа с двоичными данными (классы BinaryReader и BinaryWriter)
Сохранение объектов в .NET
Графы для отношений объектов
Настройка объектов для сериализации
Сериализация в двоичном формате
Сериализация в формате SOAP
Сериализация в пользовательском формате и интерфейс ISerializable
Приложение для регистрации автомобилей с графическим интерфейсом
Подведение итогов

Глава 12. Взаимодействие с унаследованным программным кодом

Главные вопросы совместимости
Пространство имен System.Runtime.InteropServices
Взаимодействие с модулями DLL, созданными на C
Взаимодействие .NET и COM
Создание простого COM-сервера в Visual Basic 6.0
Создаем простой клиент COM в Visual Basic 6.0
Импорт библиотеки типов
Добавление ссылки на сборку
Особенности созданной нами сборки
Создаем COM-сервер при помощи ATL
Клиент COM-сервера в Visual Basic 6.0
Полный код клиента C#
Обращение клиента COM к сборке .NET
Роль CCW
Понятие интерфейса класса
Создание типа .NET
Генерация библиотеки типов и регистрация типов .NET
Анализ созданной библиотеки типов
Просмотр типов .NET в OLE/COM Object Viewer
Просмотр записей в реестре
Создаем клиента в Visual Basic 6.0
Некоторые особенности отображения типов .NET в COM
Управление процессом генерации кода IDL (как повлиять на то, что делает утилита tlbexp.exe)
Управление регистрацией промежуточного модуля CCW
Взаимодействие со службами COM+
Особенности создания типов .NET для работы
под COM+ Пример класса C# для работы под COM+
Проверяем установку при помощи Component Services Explorer
Подведение итогов

Глава 13. Доступ к данным при помощи ADO.NET

Почему потребовалось создавать ADO.NET
Знакомство с пространствами имен ADO.NET
Типы пространства имен System.Data
Тип DataColumn
Тип DataRow
Тип DataTable
Создаем объект DataTable
Тип DataView
Возможности класса DataSet
Моделируем отношения между таблицами при помощи класса DataRelation
Работа с управляемым провайдером SQL
Автоматическое создание команд SQL
Заполнение объекта DataSet с несколькими таблицами и добавление объектов DataRelations
Подведение итогов

Глава 14. Разработка web-приложений и ASP.NET

Web-приложения и web-серверы
Структура документа HTML
Клиентские скрипты
Передаем данные формы (методы GET и POST)
Создание классической страницы ASP
Первое приложение ASP.NET
Некоторые проблемы классических ASP
Пространства имен ASP.NET
Приложение и сеанс подключения пользователя
Создание простого web-приложения на C#
Архитектура web-приложения ASP.NET
Отладка и трассировка приложений ASP.NET
Элементы управления WebForm
Создание элементов управления WebForm
Виды элементов управления WebForm
Подведение итогов

Глава 15. Web-службы

Роль web-служб
Инфраструктура web-службы
Обзор пространств имен web-служб
Пространство имен System.Web.Services
Пример элементарной web-службы
Тип WebMethodAttribute
Web Service Description Language (WSDL)
Протоколы подключения к web-службам
Прокси-сборки для web-служб
Компилируем прокси-сборку
Создание клиента для работы через прокси-сборку
Создание прокси-сборки в Visual Studio.NET
Пример более сложной web-службы (и ее клиентов)
Создание типов для сериализации (некоторые уточнения)
Протокол обнаружения web-службы
Подведение итогов

Алфавитный указатель

Комментарии

Андрей Мартынов
На сегодняшний день это самое полное руководство по C# и среде .Net, изданное на русском языке.

При взгляде на оглавление закрадывается сомнение: можно ли в одной книге охватить столько тем? WinForms, GDI+, ADO.NET, ASP.NET, Web-службы ... и это не считая обязательных, проходных тем для книг по C# ! Как на счёт глубины изложения материала?

Так вот. С глубиной всё нормально. Более того. Можно сказать, что это книга не для начинающих программистов, но для тех, для кого C# - это уже не первый язык за плечами, а .Net не первая среда исполнения. Это книга для тех, кому надо быстро, без проволочек перейти от слов к делу, для тех кому надо уже сегодня писать не упражнения, а реально применять .Net в своей каждодневной работе. Автор не задерживается на изложении основ языка С# и основ объектно-ориентированного программирования, а быстро переходит к тому, что является сутью .Net, к её ключевым технологиям. И описывает их довольно конкретно и содержательно. Выбор материала хорошо продуман.

Кстати, стоит книга 182 рубля. Ощутите разницу с ценой существенно более скромного по содержанию двухтомника Петцольда!

Правда перевод не блещет. На четвёрку с минусом: перлы встречаются, но они не отвлекают и не мешают (чаще забавляют 8-).

Короче, книжка на мой взгляд очень удачная. Рекомендую.
    Сообщений 20    Оценка 39 [+1/-0]         Оценить