ООАП - это методология по проектированию и разработки программного обеспечения основанная на представлении его как совокупности взаимодействующих между собой объектов.
Абстрактный тип данных (АТД) - это неявное определение некоторого типа данных в проектируемой системе, которое формально задаёт множество объектов и набор допустимых операций над ними.
Класс - это реализация АТД.
Правильное проектирование системы, в первую очередь, предполагает разработку спецификаций АТД, которые впоследствии будут описывать все наши классы, используемые в проекте.
- Добавляем предусловия и постусловия
- Придерживаемся принципа достаточной полноты АТД
- Все методы делим на конструкторы, запросы и команды
- По возможности избегаем явной обработкой исключений в коде