Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
fabrika [2024/04/23 15:11] oresh.dm |
fabrika [2024/04/23 15:15] (текущий) oresh.dm |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | Порождающие паттерны - это паттерны, | + | **Порождающие паттерны** - это паттерны, |
| - | Фабричный метод (англ. Factory Method), или виртуальный конструктор (англ. Virtual Constructor) — порождающий шаблон проектирования, | + | **Фабричный метод (англ. Factory Method), или виртуальный конструктор (англ. Virtual Constructor)** — порождающий шаблон проектирования, |
| + | |||
| + | **Цель** | ||
| + | Определяет интерфейс для создания объекта, | ||
| + | |||
| + | * классу заранее неизвестно, | ||
| + | * класс спроектирован так, чтобы объекты, | ||
| + | * класс делегирует свои обязанности одному из нескольких вспомогательных подклассов, | ||
| import Foundation | import Foundation | ||
| Строка 11: | Строка 18: | ||
| } | } | ||
| - | protocol Clothes { | + | |
| var title: String { get } | var title: String { get } | ||
| var type: ClothesType { get } | var type: ClothesType { get } | ||
| var color: String { get } | var color: String { get } | ||
| func putOn() | func putOn() | ||
| - | } | + | |
| class Hat: Clothes { | class Hat: Clothes { | ||