Основные паттерны разработки (Абстрактная фабрика, Декоратор, Singleton, Наблюдатель, MVP и MVC)