Паттерн Декоратор — специальный способ организации модулей в программе, который позволяет подставить какую-то новую функцию прямо в середину цепочки вызовов, тем самым чуть-чуть подкорректировав поведение.
Например, в реальном мире очки для чтения это декоратор. Вы ставите их между вашими глазами и текстом. Глобально взаимодействие ваших глаз и текста не меняется: отражённые световые лучи от страницы книги попадают в ваши зрачки, что с очками, что без них. Но очки располагаются посередине: они принимают лучи на вход и преломляют их, передавая дальше вам в глаза уже изменёнными.
Важной особенностью является тот факт, что очки можно снять. Они не требуют ни модификации вашего тела, ни модификации книги. Вообще никакие условия не нужны, кроме наличия самих очков. А если вы в линзах, то внешний наблюдатель может даже этого не знать.
Класс-декоратор должен быть спроектирован так, чтобы не требовать никаких изменений в объектах, с которыми он работает. Его можно отключить, чаще всего буквально закомментировав одну строку.
В примере ниже программа выведет текст "Привет, мир, в натуре.", и вот это дополнение в конце как раз дописано декоратором. Можно убрать или закомментировать подчёркнутую строчку, не трогая остальной код, для всех внешних вызовов сигнатуры останутся теми же самыми, но выводиться будет уже просто "Привет, мир".
В декораторы можно прятать логику, которую буквально навешивают поверх основной функции программы. Например, проверку прав на выполнение операции. Перевод на другой язык, логирование, поддержку обратной совместимости при обновлении и так далее.
#dev
🔰 CURSOS #Gratis x tiempo limitado aprovechen 🔰
🎁¡Domina PHP 8 y Gana Dinero Creando Sistemas POS desde Cero!
https://lubutech.com/x/home/course/domina-php-8-y-gana-dinero-creando-sistemas-pos-desde-cero/4
🎁PHP 8 y MySQL: Desarrollo de APIs REST Protegidas con Tokens
https://lubutech.com/x/home/course/php-8-y-mysql-desarrollo-de-apis-rest-protegidas-con-tokens/2
🎁Arquitectura Web Profesional: PHP y MySQL con MVC
https://www.udemy.com/course/arquitectura-web-profesional-php-y-mysql-con-mvc/?couponCode=FEB2025-2
🎁Curso Intensivo de MySQL: Aprende SQL desde Cero a Experto
https://www.udemy.com/course/curso-intensivo-de-mysql-aprende-sql-desde-cero-a-experto/?couponCode=FEB2025-2
🎁Construye tu Propio Sistema POS con PHP 8 y MySQL
https://www.udemy.com/course/construye-tu-propio-sistema-pos-con-php-8-y-mysql/?couponCode=FEB2025-2
🎁Hacking ético [Como se Usan los Malware ,Virus, Troyanos?]
https://www.udemy.com/course/hacking-etico-como-se-usan-los-malware-virus-troyanos/?couponCode=FEB2025-2
🎁VPS Seguro en Ubuntu con Letsencrypt, plesk y más
https://www.udemy.com/course/vps-seguro-en-ubuntu-con-letsencrypt-plesk-y-mas/?couponCode=FEB2025-2
🎁Configura un VPS DigitalOcean con Ubuntu de 0 a 100
https://www.udemy.com/course/configura-un-vps-digitalocean-con-ubuntu-de-0-a-100/?couponCode=FEB2025-2
🎁Curso de Laravel 9 desde cero + APIs RESTFULL
https://www.udemy.com/course/curso-de-laravel-desde-cero-apis-restfull/?couponCode=FEB2025-2
🎁Domina jQuery: Curso Completo para Principiantes y Avanzados
https://www.udemy.com/course/domina-jquery-curso-completo-para-principiantes-y-avanzados/?couponCode=FEB2025-2
🎁Aprende Hacking Ético: Protege y Penetra Redes
https://www.udemy.com/course/aprende-hacking-etico-protege-y-penetra-redes/?couponCode=FEB2025-2
🎁Aprende Laravel paso a paso desde cero - De 0 a 100
https://www.udemy.com/course/aprende-laravel-paso-a-paso-desde-cero-de-0-a-100/?couponCode=FEB2025-2
🎁PHP Masterclass Desarrollo de Proyectos Avanzados y Completos
https://www.udemy.com/course/php-masterclass-desarrollo-de-proyectos-avanzados-y-completo/?couponCode=FEB2025-2
🎁Master en PHP Desde 0 hasta Desarrollar Sistemas Completos
https://www.udemy.com/course/master-en-php-desde-0-hasta-desarrollar-sistemas-completos/?couponCode=FEB2025-2
🎁Crea tus propios juegos con HTML Y CANVAS JAVASCRIPT
https://www.udemy.com/course/crea-tus-propios-juegos-con-html-y-canvas-javascript/?couponCode=FEB2025-2
🎁Curso PHP Proyecto web usuarios y roles Patron mvc
https://www.udemy.com/course/curso-php-proyecto-web-usuarios-y-roles-patron-mvc/?couponCode=FEB2025-2
🎁Crea tu primer Juego en Javascript de 0 a 100
https://www.udemy.com/course/crea-tu-primer-juego-en-javascript/?couponCode=FEB2025-2
🎁Web Scraping moderno con Python usando Scrapy Seleniun
https://www.udemy.com/course/web-scraping-moderno-con-python-usando-scrapy-seleniun/?couponCode=FEB2025-2
🎁Curso de GooglE H4cking || D0rks Comandos para Hackear
https://www.udemy.com/course/curso-de-google-hacking-dorks-comandos-para-hackear/?couponCode=FEB2025-2
🎁Crear un ecommerce FULLSTACK PHP y MySQL - Tienda Online
https://www.udemy.com/course/programacion-web-php-mvc-poo-y-mysql-tienda-online/?couponCode=FEB2025-2
🎁API REST con PHP y MYSQL
https://www.udemy.com/course/api-rest-con-php-y-mysql/?couponCode=FEB2025-2
🎁Maestría en JavaScript: Desde Principiante Hasta Experto
https://www.udemy.com/course/curso-de-javascript-de-0-a-heroe/?couponCode=FEB2025-2
🎁Desarrolla un sistema web POS desde cero con PHP NATIVO
https://www.udemy.com/course/desarrolla-un-sistema-web-pos-des-cero-con-php-nativo/?couponCode=FEB2025-2
🎁Crea una Api REST FULL completa con PHP NATIVO
https://www.udemy.com/course/crea-una-api-rest-full-completa-con-php/?couponCode=FEB2025-2
🎁Sistema Punto de Venta con PHP, MVC, POO y MySQL
https://www.udemy.com/course/sistema-punto-de-venta-con-php-y-mysql-con-adminlte/?couponCode=FEB2025-2
🔰 CURSOS #Gratis x tiempo limitado aprovechen 🔰
🎁Cupones gratuitos, tiempo limitado. Aprovecha ahora. 🔥
Hacking ético [Como se Usan los Malware ,Virus, Troyanos?]
🎁https://www.udemy.com/course/hacking-etico-como-se-usan-los-malware-virus-troyanos/?couponCode=3AE362B269E014818C1N
🎁Curso de Laravel 9 desde cero + APIs RESTFULL
https://www.udemy.com/course/curso-de-laravel-desde-cero-apis-restfull/?couponCode=3AE362B269E014818C1N
🎁Domina jQuery: Curso Completo para Principiantes y Avanzados
https://www.udemy.com/course/domina-jquery-curso-completo-para-principiantes-y-avanzados/?couponCode=3AE362B269E014818C1N
🎁Aprende Hacking Ético: Protege y Penetra Redes
https://www.udemy.com/course/aprende-hacking-etico-protege-y-penetra-redes/?couponCode=3AE362B269E014818C1N
🎁Aprende Laravel paso a paso desde cero - De 0 a 100
https://www.udemy.com/course/aprende-laravel-paso-a-paso-desde-cero-de-0-a-100/?couponCode=3AE362B269E014818C1N
🎁PHP Masterclass Desarrollo de Proyectos Avanzados y Completos
https://www.udemy.com/course/php-masterclass-desarrollo-de-proyectos-avanzados-y-completo/?couponCode=3AE362B269E014818C1N
🎁Master en PHP Desde 0 hasta Desarrollar Sistemas Completos
https://www.udemy.com/course/master-en-php-desde-0-hasta-desarrollar-sistemas-completos/?couponCode=3AE362B269E014818C1N
🎁Crea tus propios juegos con HTML Y CANVAS JAVASCRIPT
https://www.udemy.com/course/crea-tus-propios-juegos-con-html-y-canvas-javascript/?couponCode=3AE362B269E014818C1N
🎁Curso PHP Proyecto web usuarios y roles Patron mvc
https://www.udemy.com/course/curso-php-proyecto-web-usuarios-y-roles-patron-mvc/?couponCode=3AE362B269E014818C1N
🎁Crea tu primer Juego en Javascript de 0 a 100
https://www.udemy.com/course/crea-tu-primer-juego-en-javascript/?couponCode=3AE362B269E014818C1N
🎁Web Scraping moderno con Python usando Scrapy Seleniun
https://www.udemy.com/course/web-scraping-moderno-con-python-usando-scrapy-seleniun/?couponCode=3AE362B269E014818C1N
🎁Curso de Google Hacking || Dorks Comandos para Hackear
https://www.udemy.com/course/curso-de-google-hacking-dorks-comandos-para-hackear/?couponCode=3AE362B269E014818C1N
🎁Crear un ecommerce FULLSTACK PHP y MySQL - Tienda Online
https://www.udemy.com/course/programacion-web-php-mvc-poo-y-mysql-tienda-online/?couponCode=MAR-DEAL
🎁API REST con PHP y MYSQL
https://www.udemy.com/course/api-rest-con-php-y-mysql/?couponCode=3AE362B269E014818C1N
🎁Maestría en JavaScript: Desde Principiante Hasta Experto
https://www.udemy.com/course/curso-de-javascript-de-0-a-heroe/?couponCode=3AE362B269E014818C1N
🎁Desarrolla un sistema web POS desde cero con PHP NATIVO
https://www.udemy.com/course/desarrolla-un-sistema-web-pos-des-cero-con-php-nativo/?couponCode=3AE362B269E014818C1N
🎁Crea una Api REST FULL completa con PHP NATIVO
https://www.udemy.com/course/crea-una-api-rest-full-completa-con-php/?couponCode=3AE362B269E014818C1N
🎁Sistema Punto de Venta con PHP, MVC, POO y MySQL
https://www.udemy.com/course/sistema-punto-de-venta-con-php-y-mysql-con-adminlte/?couponCode=MAR-DEAL
🎁Curso de PHP y MVC : Construye proyectos web desde cero
https://www.udemy.com/course/desarrolla-en-php-un-poderoso-cms-para-enlaces-de-wsp/?couponCode=3AE362B269E014818C1N
Una app ideal para que instalen en sus smartv con Android
Podrán disfrutar de youtube sin comerciales ni anuncios
Además de chromecast
Pueden transmitir en HD hasta 8K y 60fps
Lo mejor de todo, #OpenSource#Libre#Gratis
https://smarttubeapp.github.io
@metagon_bot
Qué puede hacer este bot?
Este es un bot multiusos con búsqueda de imágenes de anime / animales / flickr, herramientas de Minecraft, 9gag, Yelp y más!
(visto en @BotsGram_cu)
#imágenes, #curiosidades, #preguntas, #diversión, #gratis, #http
🔜Sumate al lanzamiento del año y llévate el favor de la reina, Cleopatra AI✨
✅Suscríbete al canal de @Cleopatra_AI acompáñame en ésta aventura y descubre mi nueva IA de generación de imágenes.
🎁Recibirás 200 Créditos gratis para probar @CleopatraAIBot y crear 200 imágenes sin coste, el día del lanzamiento.
¿A qué esperas para unirte al canal?
👉Forma parte de algo unico y memorable.
Oportunidades como ésta no se ven todos los días. ¡Súmate ahora!
🔥Próximo lanzamiento, martes 29.
#CleopatraAI#Cleopatra#AI#IA#Imagen#InteligenciaArtificial#free#gratis#bot#imagine
¿Que puede hacer este bot?
🤖@AddChanBot🔁
Este bot reenvía mensajes de otros canales (públicos y privados) a tus chats de preferencia. Además, si quieres desbloquear más chats y fuentes, haz clic en la opción "💎 Premium" del bot.
#Chats#Channels#Fuentes#Reenvío#Utilidad#Gratis#Premium#Automático#Público#Privado#Multimedia#Formato
(Visto en: @BotsGram_Cu)