Програмиране за .NEТ Framework
(изборен курс към ФМИ на СУ, зимен семестър, 2005/2006 г.)















Intro Java book logo

 

 








Учебна програма

1. Архитектура на .NET Framework

Архитектура на .NET платформата; Архитектура на .NET Framework; Common language Runtime (CLR); Intermediate Language (IL); Модел на изпълнение на .NET приложенията; Application domains; Common Language Specification (CLS); Common Type System (CTS); Интеграция на различни езици; Средата за разработка Visual Studio .NET.

2. Въведение в езика C#

Примитивни типове данни; Изброен тип; Константи; Изрази; Програмни конструкции; Конструкции за управление (if, for, while, do .. while, foreach).

3. Обектно-ориентирано програмиране в .NET

Класове и интерфейси; Структури; Конструктори, методи, полета, видимост на членовете; Наследяване и полиморфизъм; Свойства, индексатори, оператори; Статични методи и конструктори; Пространства от имена; Управление на изключенията.

4. Обща система от типове – Common Type System (CTS)

Класът System.Object, сравнение на типове, хеш-кодове, копиране на обекти; Стойностни и референтни типове, опаковане и разопаковане (boxing & unboxing); Преобразуване на типовете.

5. Делегати и събития

Делегати и multicast делегати; Събития.

6. Атрибути

Използване на атрибути; Създаване на собствени атрибути.

7. Масиви и колекции

Масиви; Назъбени и многомерни масиви; Сортиране; Колекции; Списъци, речници, хеш-таблици, сортирани списъци.

8. Символни низове

Символни низове; Построяване на символни низове (StringBuilder); Форматиращи низове; Unicode, кодиращи схеми, глобализация, интернационализация.

9. Вход/изход

Потоци, четци и писачи (streams, readers and writers); Файлове и директории.

10. Достъп до данни с ADO.NET

Основни концепции и класове (Connection, Command,  DataReader, DataAdapter, CommandBuilder); DataSet, таблици, релации, views, constraints; Силно-типизирани data sets; Data sets и XML; Утвърдени практики при работа с ADO.NET.

11. Windows Forms

Програмният модел на Windows Forms; Основни класове (Component, Control, ScrollableControl, ContainerControl); Форми и диалози; Основни контроли (Label, TextBox, Button); Добавяне на контроли към формите; Прихващане на събития; Други контроли (менюта, status bars, ленти с инструменти); Data binding и контролата DataGrid; Потребителски-дефинирани контроли.

12. ASP.NET и Web-приложения

Програмен модел на ASP.NET, Web форми и Web контроли, основни класове; Кодът за страниците (code behind); Модел за изпълнение на страниците; Модел за изпълнение на Web-приложенията; Основни Web-контроли; Прихващане на събития; Валидация; Управление на сесията; Контроли за работа с данни (DataGrid и DataView); Потребителски-дефинирани контроли.

13. Регулярни изрази

Езикът на регулярните изрази; Търсене, извличане, валидиране и заместване на текст чрез регулярни изрази.

14. Управление на паметта и ресурсите

Динамична памет (managed heap) и система за почистване на паметта (garbage collection); Деструктори и финализация.

15. Работа с XML

Основни XML концепции (well-formed XML, пространства от имена, DTD, XSD, XML парсери); XML класове (DOM класовете и XmlReader); Валидация на XML; XPath и XSL трансформация.

16. Многонишково програмиране и синхронизация

Многонишково програмиране (multithreading); Асинхронно изпълнение; Асинхронен вход/изход; Синхронизация на нишки; Класически синхронизационни проблеми.

17. Мрежово и Интернет програмиране

Основни мрежови концепции (TCP/IP, протоколи, услуги); TCP и UDP сокети; Достъп до Интернет ресурси; Класове за работа с e-mail.

18. Отражение на типовете (Reflection)

Достъп до метаданните в асемблитата; Извикване на методи.

19. Сериализация на данни

Автоматична и потребителски-дефинирана сериализация на данни; XML и бинарна сериализация.

20. Web-услуги

Основни концепции за Web-услугите – моделът „заявка-отговор”, SOAP, UDDI и WSDL; Използване на Web-услуги; Асинхронно извикване на Web-услуги; Създаване на Web-услуги, публикуване на методи.

21. Remoting

Канали и форматиращи класове (channels and formatters); Активация и деактивация; Жизнен цикъл на обектите; Модели за активация; Marshalling; Предоставяне на отдалечени обекти; Използване на отдалечени обекти; Конфигуриране.

22. Взаимодействие с неуправляван код

Извикване на функции от DLL библиотеки; Взаимодействие с COM.

23. Асемблита и deployment

Асемблита и метаданни, версии, силни имена, частни и споделени асемблита; Модули; Global Assembly Cache (GAC); Преносими изпълними файлове (portable executables).

24. Сигурност в .NET Framework

Сигурност при достъпа до кода (code access security); Сигурност, базирана на роли (role-based security); подписване на асемблита.

25. Моно – имплементация на .NET с отворен код

Запознаване с Mono; Инсталиране и конфигуриране на Mono; Средства за разработка; Запознаване с основните възможности на .Net под Mono.

26. Инструменти за .NET разработчици

Запознаване с най-използваните помощни инструменти.