Некоторые классы неизменяемые, производные от них - изменяемые.
Иногда предпочтительнее создать новый объект, чем изменять старый.
Неизменяемые (immutable) лучше сделать, когда данные объекта будут меняться значительно (NSString,NSData).
Изменяемые (mutable) данные объекта будут меняться постепенно (массивы, коллекции).
Изменяемые коллекции можно делать неизменяемыми сделав копию. Копия по умолчанию будет неизменяемая. Ее можно отдать клиенту.
При передаче клиенту объекта, о котором важно знать изменяемый он или нет, нужно передавать вместе с ним флаг.
Cocoa - Class Clusters
В абстрактном классе есть методы-примитивы, которые обязательны для переопределения в производных классах. Эти методы обращаются к данным производного класса.
Composite Object - декоратор.
Категория - способ добавить методы к классу не создавая подклассов
По категориям удобно разделить различные аспекты класса
Категории можно назначить и NSObject. Добавленные методы будут присутствовать у всех объектов в программе.
Протокол - аналог интерфейса
Проверка реализованности протокола у объекта
Комментариев нет:
Отправить комментарий