Паттерны ☀️ в C#

Образцы, шаблоны, схемы программирования в C# с примерами их реализации


Project maintained by Dvurechensky-Docs Hosted on GitHub Pages — Theme by mattgraham

✨Dvurechensky✨

Typing SVG

Static Badge

C# паттерны - дополнение 📚

Создано в качестве дополнения к 🌟 моему существующему репозиторию 🌟

Содержит: паттерны и пример создания сниппетов

⏩ СТРУКТУРНЫЕ ПАТТЕРНЫ

Паттерн Описание
💢 Адаптер 🔎 Преобразует интерфейс одного класса в интерфейс другого, который ожидают клиенты. Адаптер делает возможной совместную работу классов с несовместимыми интерфейсами.
💢 Фасад 🔎 Предоставляет унифицированный интерфейс вместо набора интерфейсов некоторой подсистемы. Фасад определяет интерфейс более высокого уровня, который упрощает использование подсистемы.
💢 Декоратор 🔎 Динамически добавляет объекту новые обязанности. Является гибкой альтернативой порождению подклассов с целью расширения функциональности.
💢 Компоновщик 🔎 Компонует объекты в древовидные структуры для представления иерархий «часть — целое». Позволяет клиентам единообразно трактовать индивидуальные и составные объекты.
💢 Заместитель 🔎 Является суррогатом другого объекта и контролирует доступ к нему.

⏩ ПОРОЖДАЮЩИЕ ПАТТЕРНЫ

Паттерн Описание
💢 Одиночка 🔎 Гантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к нему.
💢 Абстрактная фабрика 🔎 Предоставляет интерфейс для создания семейств взаимосвязанных объектов с определенными интерфейсами без указания конкретных типов данных объектов.
💢 Строитель 🔎 Строитель отделяет конструирование сложного объекта от его представления, так что в результате одного и того же процесса конструирования могут получаться разные представления.

⏩ ПАТТЕРНЫ ПОВЕДЕНИЯ

Паттерн Описание
💢 Стратегия 🔎 Стратегия обеспечивает точку расширения системы в определенной плоскости: класс-контекст (LogProcessor) принимает экземпляр стратегии (LogFileReader) и не знает, какой вариант стратегии он собирается использовать.
💢 Фабричный метод 🔎 Это каркас, в который наследники могут подставить реализации недостающих элементов. Он позволяет более четко определить «контракт» между базовым классом и потомками
💢 Посредник 🔎 Определяет объект, инкапсулирующий способ взаимодействия множества объектов. Это клей, связывающий несколько независимых классов между собой. Он избавляет классы от необходимости ссылаться друг на друга, позволяя тем самым их независимо изменять и анализировать.
💢 Итератор 🔎 Представляет доступ ко всем элементам составного объекта, не раскрывая его внутреннего представления.
💢 Наблюдатель 🔎 Определяет зависимость типа «один ко многим»» (один издатель ко многим подписчикам) между объектами.
💢 Посетитель 🔎 Добавление поведения в иерархию объектов, не изменяя их классы.
💢 Команда 🔎 Конкретное действие представить в виде конкретного объекта.
💢 Состояние 🔎 Позволяет объекту поменять свое поведение в зависимости от состояния.
💢 Цепочка обязанностей 🔎 Позволяет избежать привязки отправителя запроса к его получателю, давая шанс обработать запрос нескольким объектам.

✨Dvurechensky✨