Паттерн Фасад примеры на C#

Паттерн Фасад— предоставляет унифицированный интерфейс к группе интерфейсов подсистемы. Фасад определяет высокоуровневый интерфейс, упрощающий работу с подсистемой. Если вам понадобится упростить большой интерфейс или семейство сложных интерфейс или семейство сложных интерфейсов. Фасад изолирует клиента от сложной подсистемы. Реализация фасада основана на композиции и делегировании. Для подсистемы можно реализовать несколько фасадов. Рассмотрим такой пример, многие из […]

Паттерн Адаптер примеры на C#

Паттерн Адаптер преобразует интерфейс класса к другому интерфейсу, на который рассчитан клиент. Адаптер обеспечивает совместную работу классов, невозможную в обычных условиях из-за несовместимости интерфейсов. Преобразует один интерфейс к другому. Мы часто видим адаптеры в реальной жизни, адаптеры для телефонов, розеток, различных устройств. Устройств может быть десятки, а для них может подходить один адаптер, который, к […]

Паттерн Команда примеры на C#

Паттерн Команда инкапсулирует запрос в виде объекта, делая возможной параметризацию клиентских объектов с другими запросами, организацию очереди или регистрацию запросов, а также поддержку отмены операций. Паттерн Команда отделяет объект, выдающий запросы, от объекта, который умеет эти запросы выполнять. Объект команды инкапсулирует получателя с операцией или набором операций. Инициатор вызываем метод Execute() объекта команды что приводит […]

Паттерн Одиночка Singleton C#

Паттерн Одиночка гарантирует что в любой момент времени существует только один экземпляр класса.Если у класса вашего приложения должен существовать только один экземпляр, воспользуйтесь паттерном Одиночка. Реализация паттерна Одиночка на языке C# использует приватный конструктор и статический метод в сочетании со статической переменной. Паттерн Одиночка предоставляет глобальную точку доступа к этому экземпляру. Давайте рассмотрим интересный пример, […]

Абстрактная фабрика в примерах на C#

Паттерн Абстрактная Фабрика предоставляет интерфейс создания семейств взаимосвязанных или взаимозависимых объектов без указания их конкретных классов. Разница между Абстрактной фабрикой и абстрактным методом в том, что абстрактный метод использует наследования, абстрактная фабрика композицию. Я упростил пример из фабричного метода, чтобы не перегружать его кодом, так как пришлось бы для каждого вида начинок, вариаций пицц итд […]

Фабричный метод в примерах на C#

Один из самых популярных паттернов, позволяет создавать различные продукты, без указания классов продуктов. Паттерн Фабричный Метод определяет интерфейс создания объекта, но позволяет субклассам выбрать класс создаваемого экземпляра. Таким образом, Фабричный Метод делегирует операцию создания экземпляра субклассам. Давайте рассмотрим пример, который предполагает создания конвейера по изготовлению пиццы. Я не буду сильно перегружать кодом, остановимся на изготовлении […]

Паттерн Декоратор в примерах на C#

Паттерн декоратор как его еще называют оберткой, динамически наделяет объект новыми возможностями и является гибкой альтернативой субклассированию в области расширения функциональности. Давайте представим проблему мы разрабатываем программную часть кофейного автомата. В начале у нас автомат умел только выдавать названия сорта кофе и готовить его, а также рассчитывал его стоимость. В автомате у нас находилось не […]

Паттерн Наблюдатель в примерах на C#

Для понимания этого паттерна можно представить следующую ситуацию. Все мы используем социальные сети, и многие из нас подписаны на какие-то рассылки, групп. В таком аспекте мы являемся наблюдателями Observer, а владелиц группы издателем Subject. Хоть там за кулисами мы и не видим всего происходящего, но именно этот паттерн там реализован. Если бы владелец, вручную делал […]

Паттерн стратегия в примерах на C#

Паттерн Стратегия определяет семейство схожих алгоритмов, инкапсулирует каждый из них и обеспечивает их взаимозаменяемость. Он позволяет модифицировать алгоритмы независимо от их использования на стороне клиента. Если простыми словами, то определяются схожие функции помещая их в собственные классы и позволяет их изменять во время работы программы. Из представленного примера ниже, мы видим схожий функционал всех уток, […]

Шифрование данных в C# — простой пример с паролем

Класс шифрования на C#: быстрое и простое шифрование паролем. В современном программировании защита данных становится ключевым аспектом. Представленный ниже класс Encryptor на языке C# реализует простое шифрование и дешифрование данных, используя возможности встроенных классов .NET Framework: TripleDESCryptoServiceProvider и MD5CryptoServiceProvider. Зачем нужен этот класс? Этот класс упрощает быстрое шифрование данных паролем с помощью встроенных функций .NET […]