Объектно-ориентированное проектирование с примерами
ПредисловиеКонцепции
Метод
Примеры приложений
Дополнительный материал
Сложность
Простые и сложные программные системы
Почему программному обеспечению присуща сложность?
Последствия неограниченной сложности
Примеры сложных систем
Пять признаков сложной системы
Организованная и неорганизованная сложность
Роль декомпозиции
Роль абстракции
Роль иерархии
Инженерное дело как наука и искусство
Смысл проектирования
Объектная модель
Тенденции в проектировании
Основные положения объектной модели
OOP, OOD и ООА
Парадигмы программирования
Абстрагирование
Инкапсуляция
Модульность
Иерархия
Типизация
Параллелизм
Сохраняемость
Преимущества объектной модели
Использование объектного подхода
Открытые вопросы
Классы и объекты
Что является и что не является объектом?
Состояние
Поведение
Идентичность
Типы отношений
Связи
Агрегация
Что такое класс?
Интерфейс и реализация
Жизненный цикл класса
Ассоциация
Наследование
Использование
Инстанцирование
Метаклассы
Отношения между классами и объектами
Роль классов и объектов в анализе и проектировании
Измерение качества абстракции
Как выбрать операции?
Объектно-ориентированное проектирование с примерами
Как выбирать отношения
Выбор реализации
Классификация
Классификация и объектно-ориентированное проектирование
Трудности классификации
Классический и современный подходы
Объектно-ориентированный анализ
Ключевые абстракции
Обозначения
Необходимость разных точек зрения
Модели и ракурсы
Логическая и физическая модели
Инструменты проектирования
Существенное: категории классов
Дополнительные обозначения
Спецификации
Существенное: состояния и переходы
Дополнительные понятия
Спецификации
Существенное: объекты и их отношения
Существенное: объекты и их взаимодействия
Существенное: модули и их зависимость
Процесс
Характерные черты удачных проектов
Рациональный процесс проектирования
Обзор
Выявление классов и объектов
Выяснение семантики классов и объектов
Выявление связей между классами и объектами
Реализация классов и объектов
Концептуализация
Анализ
Проектирование
Эволюция
Сопровождение
Практические вопросы
Управление риском
Планирование задач
Просмотр
Роли разработчиков
Объектно-ориентированное проектирование с примерами
Система сбора данных: метеорологическая станцияОпределение границ рассматриваемой задачи
Архитектурный каркас
Механизм покадровой обработки
Планирование релизов
Механизм датчиков
Механизм вывода информации на экран
Механизм пользовательского интерфейса
Среда разработки: библиотека базовых классов
Определение границ проблемной области
Требования к библиотеке базовых классов
Модели взаимодействий
Тактические вопросы
Макроорганизация
Семейства классов
Семантика времени и памяти
Управление памятью
Итерация
Синхронизация
Проектирование интерфейса классов
Классы поддержки
Инструменты
Дополнительная литература
Архитектура клиент-сервер: складской учет
Определение границ задачи
Архитектура клиент-сервер
Сценарии работы
Модели баз данных
SQL
Анализ схем данных
Механизм транзакций
Создание клиентской части приложения
Управление релизами
Генераторы приложений
Искусственный интеллект: криптоанализ
Определение границ предметной области
Архитектура метафоры информационной доски
Архитектура информационной доски
Интеграция
Добавление источников знаний
Расширение функциональных возможностей
Изменение технических требований
Объектно-ориентированное проектирование с примерами
Управление: контроль за движением поездовСистемные и программные требования: хрупкий компромисс
Ключевые абстракции и механизмы
Механизм передачи сообщений
Планирование расписания поездов
Отображение информации
Механизм опроса датчиков
Модульная архитектура
Спецификация подсистем
Добавление новых функций
Изменение аппаратных средств
Библиография
Словарь терминов
Литературные ссылки
Объектно-ориентированные языки программирования
Происхождение
Ссылки
BASH Programming - Введение
В данном HOW-TO осуществляется попытка предоставить Вам некоторые рекомендации по shell-программированию, основанные только на примерах.В данном разделе Вы обнаружите небольшие скрипты, которые, вероятно, будут Вам полезны при освоении некоторых приёмов.
Арифметические операторы сравнения
Терминология ... лазеры на максимум ... огонь!
Местоположение документа и обратная связь
Кириллизация дистрибутивов
Шрифты TrueType
Настройка кеширующего сервера имен
Нужен ли Вам Linux?
Что такое Emacs?
Упражнения
Поддерживаемые архитектуры
Альфа , Бета драйвера
Агент транспортировки почты (MTA)
Введение в Linux
Ядро с фильтрацией пакетов
Анонимное FTP
Поддержка списка рассылки
Как мне подсоединиться к остальному миру?
Одно слово о стиле
О RLDP