[Кодинг] Объектное программирование в классах на С# 3.0

Тема в разделе "Литература", создана пользователем Hilo, 17 окт 2010.

Статус темы:
Закрыта.
Модераторы: Hilo
  1. Hilo

    Hilo

    Moderator
    Регистр.:
    31 мар 2008
    Сообщения:
    911
    Симпатии:
    562
    Курс посвящен основам объектного программирования. В качестве языка программирования выбран язык C# - его версия 3.0, в качестве среды разработки программных проектов – Visual Studio 2008 Professional Edition и Framework .Net в версии 3.5. Вторая часть курса посвящена созданию программных систем, построенных на классах. Изложение сопровождается большим числом примеров. Курс является учебником и задачником. Задачи сопровождают каждую лекцию курса.
    Современные программные системы проектируются и разрабатываются как системы, построенные на классах. Язык С# и среда разработки Visual Studio 2008 эффективно поддерживают такой стиль создания программных систем. Как правильно создавать классы, какие отношения существуют между классами системы, почему в языке С# появляются частные случаи классов – структуры, интерфейсы, перечисления, делегаты, универсальные классы – эти вопросы составляют основу этой части курса. Классы с событиями, документирование классов, обработка исключительных ситуаций, наконец, стиль профессионального программирования подробно обсуждается в данном курсе.

    Содержание курса:
    Лекция 1: Классы
    В лекции рассматриваются детали построения класса. Обсуждается роль полей, как глобальной информации, доступной всем методам класса.
    Лекция 2:Проектирование класса
    Обсуждаются две роли класса – типа данных и модуля. Рассматривается интерфейс – открытая часть класса, методы класса и их частные случаи – конструкторы, свойства, операции. Лекция сопровождается задачами на построение классов.
    Лекция 3: Структуры
    Структуры, как частный случай класса, позволяют задавать развернутый тип данных. Подробно обсуждаются отличия ссылочных и развернутых типов данных, когда и где следует применять тот или иной тип – выбирать структуру или ссылочный класс. Лекция сопровождается задачами.
    Лекция 4: Перечисления
    Перечисление позволяет задать конечное множество значений, которые могут получать объекты классы. Показано, как перечисление, заданное шкалой, позволяет строить эффективные по памяти и времени алгоритмы для широкого класса задач. Лекция сопровождается задачами.
    Лекция 5: Отношения между классами. Клиенты и наследники
    Одна из важнейших тем этого курса рассматривает два основных типа отношений, существующих между классами – наследование и встраивание. Каждый класс создается в интересах своих будущих клиентов и потомков. Подробно обсуждается вопрос, когда следует применять наследование, а когда встраивание.
    Лекция 6: Наследование и полиморфизм
    Продолжается изучение особенностей наследования. Рассматривается важное понятие полиморфизма, характерное для семейства классов, связанных отношением наследования. Лекция сопровождается задачами.
    Лекция 7: Интерфейсы. Множественное наследование
    Многозначное слово интерфейс в данной лекции задает еще один важный частный случай класса – класс, заданный заголовками методов. Интерфейсы важны не только потому, что позволяю задать определенное поведение у потомков интерфейса, но и позволяют справиться с проблемой множественного наследования. Лекция сопровождается задачами.
    Лекция 8: Делегаты. Функциональный тип данных
    Методы класса могут выступать в роли объектов. Методы с одинаковой сигнатурой принадлежат одному функциональному типу. Класс, позволяющий описать функциональный тип, называется делегатом. Различные вопросы, связанные с делегатами подробно рассматриваются в этой лекции.
    Лекция 9: Применение делегатов. Функции высших порядков
    Подробно обсуждаются анонимные методы. Рассматриваются функции высших порядков. Функции высших порядков как альтернатива полиморфизму. Приводятся примеры.
    Лекция 10: Делегаты как свойства. Операции над делегатами
    Рассматриваются операции, которые можно выполнять над объектами функционального типа. На примерах обсуждаются возможности комбинирования методов. Лекция сопровождается задачами.
    Лекция 11: Классы с событиями
    Поля, методы и события – треугольник, полностью описывающий объекты класса. События позволяют специфицировать поведение объектов класса, поскольку каждый объект при возникновении события может иметь свой набор обработчиков этого события.
    Лекция 12: Корректная работа с событиями
    Обсуждаются проблемы, возникающие при совместной обработке события несколькими обработчиками. Рассматривается пример моделирования жизни города, в котором происходят события. Лекция сопровождается задачами.
    Лекция 13: Универсальность. Классы с родовыми параметрами
    Универсальные классы, шаблоны, классы с родовыми параметрами – синонимичные понятия для класса, у которого есть параметры, задающие типы. Эти классы являются одним из мощнейших механизмов, позволяющих существенно сокращать объем кода объектно-ориентированных программных систем.
    Лекция 14: Ограничения универсальности
    Как ни парадоксально, но ограничение универсальности увеличивает свободу программиста. Рассматриваются способы ограничения универсальности. Лекция сопровождается задачами.
    Лекция 15: Декларативность. Атрибуты и теги
    В язык С# все в большей степени встраиваются декларативные элементы, позволяющие описать, что надо делать, не указывая, как это делается. В этой лекции изучаются такие элементы декларативного стиля как атрибуты и теги.
    Лекция 16: Встроенные и заданные программистом атрибуты. Документируемые комментарии
    В данной лекции подробно обсуждаются атрибуты – встроенные и создаваемые программистом, относящиеся к декларативным элементам – метаинформации, сопровождающей проект. Еще одна тема этой лекции – это документирование кода и использование тегов - документируемых комментариев. Лекция сопровождается задачами.
    Лекция 17: Корректность и устойчивость программных систем
    Программные системы во многих случаях – жизненно важные системы, от правильной работы которых может зависеть благосостояние и даже жизнь отдельного человека или целого коллектива. Элементами доказательного программирования должен владеть каждый профессиональный программист.
    Лекция 18: Искусство отладки
    Отладка рассматривается как процесс, направленный на достижение корректности программной системы. Обсуждаются средства, предоставляемые языком C# и средой разработки для отладки программных систем.
    Лекция 19: Обработка исключительных ситуаций
    Обработка исключительных ситуаций рассматривается как процесс, направленный на достижение устойчивости программной системы. В этой же лекции обсуждаются вопросы профессионального стиля разработки программных проектов. Подводятся итоги курса.

    Автор: В.А. Биллиг
    Год издания: 2010
    Издат.: INTUIT
    Размер: 2,71 Гб
    Язык: Русский

    http://letitbit.net/download/8161.ee83627a39d7041c9907aefa4/objc_progr_c_3.rar.html
    http://vip-file.com/downloadlib/192921318674369224-8161.ee83627a39d7041c9907aefa4/Objc_Progr_C_3.rar.html
     
Статус темы:
Закрыта.