Оглавление:
- Проектирование «хороших» классов
- Создание типа подкласса существующего класса или использование делегирования
Видео: Вебинар «Объектно-ориентированное программирование в TypeScript и React js» 2025
Часть начала программирования iOS для чайников Шпаргалка
Программирование iOS, Objective-C, объект -ориентация и дизайн OO идут вместе. Ознакомьтесь с некоторыми полезными советами для OO Design. Пора вставать до скорости!
Проектирование «хороших» классов
Ваши классы должны быть очень сплоченными и слабо связанными. Вот контрольный список, чтобы быстро проверить, хорошо ли класс: ответ «Нет» на любой из вопросов означает, что вам может потребоваться переосмыслить ваш класс.
-
Можете ли вы дать классу имя, которое отражает его причину?
-
Можете ли вы дать ему описание, в котором говорится, что он делает только одно?
-
Есть ли у него обязанности (методы)? Все ли они связаны с описанием?
-
Есть ли у него коллабораторы?
-
Разве это - или его компоненты - поддерживает долговременное состояние?
Создание типа подкласса существующего класса или использование делегирования
Предположим, что вам нужен тип с именем Tiger, и он, похоже, разделяет обязанности Animal. Поэтому вы пытаетесь решить, следует ли объявлять Tiger как подкласс класса с именем Animal или, возможно, объявить переменную-член типа Animal и делегировать анималистские обязанности этой переменной-члену.
Произнесите эти два предложения вслух:
-
Тигр IS-A Animal.
-
Тигр CAN-BE an Animal.
Если первое имеет смысл (что в этом случае и так), Тигр должен быть подклассом Animal.
