Основы объектно-ориентированного проектирования

         

Основы объектно-ориентированного проектирования

Побочные эффекты в функциях
Команды и запросы
Формы побочного эффекта

Ссылочная прозрачность
Объекты как машины
Функции, создающие объекты
Чистый стиль для интерфейса класса
Генераторы псевдослучайных чисел: упражнение
Абстрактное состояние, конкретное состояние



Абстрактное состояние, конкретное состояние - 2
Стратегия
Возражения
Законные побочные эффекты: пример
Много ли аргументов должно быть у компонента?
Важность числа аргументов

Операнды и необязательные параметры (опции)
Принцип
Преимущества, обеспечиваемые Принципом Операндов
Исключения из Принципа Операндов?
Контрольный перечень
Размер класса: Подход списка требований
Определение размера класса
Поддержка согласованности

Запреты и послабления
Активные структуры данных
Представление связного списка
Пассивные классы
Инкапсуляция и утверждения
Критика интерфейса класса
Простые, напрашивающиеся решения
Введение состояния

Поддержка согласованности: инвариант реализации
С точки зрения клиента
Взгляд изнутри
АТД и абстрактные машины
Отделение состояния

Слияние списка и стражей
Выборочный экспорт
Как справляться с особыми ситуациями
Априорная схема
Препятствия на пути априорной схемы
Апостериорная схема
Роль механизма исключений

Эволюция классов. Устаревшие классы
Документирование класса и системы
Показ интерфейса
Документирование на уровне системы
У5.1 Функция с побочным эффектом
У5.2 Операнды и опции
У5.3 Возможные аргументы

У5.4 Число элементов как функция
У5.5 Поиск в связных списках
У5.6 Теоремы в инварианте
У5.7 Двунаправленные списки
У5.8 Альтернативный проект связного списка
У5.9 Вставка в связный список
У5.10 Циклические списки
У5.11 Функции ввода, свободные от побочных эффектов
У5.12 Документация
У5.13 Самодокументированное ПО

Содержание раздела