Начальные сведения об объектно-ориентированном программировании (программа как динамический набор взаимодействующих объектов).
По определению авторитета в области объектно-ориентированных методов разработки программ Гради Буча «объектно-ориентированное программирование (ООП) – это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса (типа особого вида), а классы образуют иерархию на принципах наследуемости».
Объектно-ориентированная методология так же, как и структурная методология, была создана с целью дисциплинировать процесс разработки больших программных комплексов и тем самым снизить их сложность и стоимость.
Объектно-ориентированная методология преследует те же цели, что и структурная, но решает их с другой отправной точки и в большинстве случаев позволяет управлять более сложными проектами, чем структурная методология.
Как известно, одним из принципов управления сложностью проекта является декомпозиция. Гради Буч выделяет две разновидности декомпозиции: алгоритмическую (так он называет декомпозицию, поддерживаемую структурными методами) и объектно-ориентированную, отличие которых состоит, по его мнению, в следующем: «Разделение по алгоритмам концентрирует внимание на порядке происходящих событий, а разделение по объектам придает особое значение факторам, либо вызывающим действия, либо являющимся объектами приложения этих действий».
Другими словами, алгоритмическая декомпозиция учитывает в большей степени структуру взаимосвязей между частями сложной проблемы, а объектно-ориентированная декомпозиция уделяет больше внимания характеру взаимосвязей.
На практике рекомендуется применять обе разновидности декомпозиции: при создании крупных проектов целесообразно сначала применять объектно-ориентированный подход для создания общей иерархии объектов, отражающих сущность программируемой задачи, а затем использовать алгоритмическую декомпозицию на модули для упрощения разработки и сопровождения программного комплекса.
ОО-программирование является, несомненно, одним из наиболее интересных направлений для профессиональной разработки программ.
- Начальные сведения об объектно-ориентированном программировании (программа как динамический набор взаимодействующих объектов).
- Классы и объекты (экземпляры класса), главные отличия класса от объекта.
- Открытый интерфейс класса и его составляющие (свойства методы и события).
- Инкапсуляция и ее назначение.
- Понятие о полиморфизме, предназначение полиморфизма.
- Наследование и его использование для реализации полиморфизма.
- Понятие распределенного приложения. Клиенты и серверы.
- Пятислойная архитектура распределенных приложений.
- Архитектура, ориентированная на сервисы. Понятие об облачных вычислениях.
- Локальные и глобальные компьютерные сети. Internet.
- Сетевые протоколы и их роль в передаче данных.
- Стандарт xml, языки разметки html и xhtml.
- Дата-центры, провайдеры данных и прокси-серверы.
- Базы данных и хранилища данных.
- Понятие о сжатии информации и архивах. Примеры программ архивации Windows.
- Защита информации путем разграничения доступа.
- Защита информации путем шифрования.
- Цифровая подпись и ее назначение.
- Понятие о вредоносном программном обеспечении (вирусы и программы-шпионы).
- Средства борьбы с вредоносным по (на примерах Kaspersky Internet Security и Microsoft Security Essentials).
- Компьютер как средство связи. Коммуникаторы и смартфоны.
- Электронная почта (на примерах Microsoft Outlook и Windows Live).
- Понятие об электронной коммерции: интернет-магазины, платежные системы и т.П.
- Понятие о по для решения бизнес-задач (на примерах Microsoft Office и 1с Предприятие).