Спецкурс Теория и технологии объектно-ориентированного программирования
Лектор: д.п.н., профессор А.С. Лесневский


Спецкурс рекомендован для студентов 4-5 курсов.
Аннотация
Курс посвящен объектно-ориентированному программированию в широком смысле этого слова. А именно:
- в нем дается общее представление о концепции ООП и ее реализации в различных языках программирования, обсуждаются вопросы теоретического обоснования ООП.
 
- в курсе рассматриваются эффективные приемы ООП и связанные с ними аспекты проектирования программных систем, в частности рассматриваются паттерны проектирования и их реализация.
 
- в курсе рассматриваются современные технологии и технологические схемы, основой которых является ООП. Особо обсуждаются вопросы взаимодействия с базами данных и высокоуровневые средства, обеспечивающие это взаимодействие.
 

Программа
- Концепция  ООП.
 
	- История ООП. Обзор языков. Simula, ADA, Smalltalk, Object Pascal, C++, Eiffel, CLOS, Objective C.
 
- Стили программирования. Объектно-ориентированное мышление. Основные понятия.
 
- Попытки построения теории ООП: объектное исчисление (object calculi).
 
- Классы, методы, инкапсуляция. Сообщения.
 
- Наследование. Множественное наследование.
 
- Подклассы и подтипы. Связывание.
 
- Полиморфизм.
 
- Техника ООП.
 
	- Объектно-ориентированный стиль: примеры.
 
- ОО программирование и проектирование. Использование паттернов проектирования.
 
- Тестирование ООС. Экстремальное программирование.
 
- Повторное использование кода. Рефакторинг.
 
- Многопоточность в ОО языках.
 
- Технологии ООП
 
	- Многослойная архитектура приложений, как типовая технологическая схема.
 
- ООП и распределенные системы.  (CORBA, DCOM, SOAP 
)
 
- ООП и базы данных: устойчивые (persistent) классы. Технологии EJB, Enterprise Objects Framework. ОО базы данных.
 
- Реализация ОО языков. Среды разработки.
 
- Метрики в ООП. Некоторые проблемы ООП.
 

Литература
- Abadi M., Cardelli L.
 A Theory of Objects.  Springer-Verlag. 1996
 
- Тимоти Бадд
 Объектно-ориентированное программирование в действии.  Питер. 1997
 
- Крэг Ларман
 Применение UML и шаблонов проектирования.  Вильямс. 2001
 
- Э.Гамма, Р.Хелм,Р.Джонсон, Дж. Влиссидес
 Приемы объектно-ориентированного проектирования.  Питер 2001

