2. Лекция 1 (продолжение)
● MVC
● Delegate
● Observer
● Singleton
● …
… красивые названия для обыденных вещей
3. Model-View-Controller
Model
● Хранение данных
● Бизнес-логика
● Может иметь разные
представления
● Может "общаться" с другой
моделью
View
● То, что видит пользователь
● Переиспользуется для
разных данных
Controller
● Соединяет объекты-модели
с объектами-видами
● Бизнес-логика
● Управляет жизненным
циклом приложения
● Обрабатывает действия
пользователя
Основы паттернов ООП
4. Model
кастомные классы с данными
...
NSArray
NSDictionary
NSString
...
NSURLConnection
CLLocationManager
...
View
UIView
UILabel
UITextField
UIButton
UISwitch
UIToolbar
UITableView
UIImageView
...
Controller
UIApplicationDelegate
UIViewController
UINavigationController
UITabBarController
...
Для нашего клиентского кода это модель.
Сами для себя эти классы — система,
имеющая свою модель и контроллер на
более низком уровне абстракции.
Model-View-Controller
Основы паттернов ООП
5. Model
AddressBook
Коллекция записей о людях
Person
Запись об одном человеке
View
TableView
Показывает список ячеек
TableViewCell
Показывает одну ячейку с текстом
Controller
?
Model-View-Controller
Основы паттернов ООП
11. Порождающий шаблон проектирования, гарантирующий что в приложении будет единственный
экземпляр класса с глобальной точкой доступа.
MyClass *instance = [MyClass sharedInstance];
+ Не нужно заботиться, создан ли уже объект
+ Легко доступен всем
– Легко доступен всем
Singleton
Основы паттернов ООП