Абстрактная фабрика: искусство создания масштабируемого кода
Каждый разработчик рано или поздно сталкивается с моментом, когда стандартные решения перестают справляться с возросшими требованиями проекта. Именно в этот момент стоит рассмотреть паттерн «Абстрактная фабрика» — один из мощных инструментов, который помогает строить системы, готовые к расширениям и изменениям. Это не просто шаблон проектирования, это целая философия построения многогранного, но при этом структурированного кода.
Представим ситуацию: приложение должно поддерживать несколько тем оформления, работать с разными базами данных в зависимости от клиентского окружения или отправлять различные уведомления — «Абстрактная фабрика» позволяет элегантно и прозрачно решить эту задачу, позволяя интегрировать новшества без боли и страданий (хотя порой и кажется, что все мы здесь за этим собрались)
Чтобы показать работу паттерна давайте сделаем простую генерацию различных видов уведомлений в зависимости от выбранной фабрики (для отправки локальных уведомлений не забываем добавить разрешение в файл Info.plist)
Что вообще хотим увидеть: