Паттерн Адаптер преобразует интерфейс класса к другому интерфейсу, на который рассчитан клиент. Адаптер обеспечивает совместную работу классов, невозможную в обычных условиях из-за несовместимости интерфейсов. Преобразует один интерфейс к другому. Мы часто видим адаптеры в реальной жизни, адаптеры для телефонов, розеток, различных устройств. Устройств может быть десятки, а для них может подходить один адаптер, который, к […]
Рубрика: Паттерны на C#
Примеры реализации паттерна проектирования на языке C#
Паттерн Команда на C#
Паттерн Команда инкапсулирует запрос в виде объекта, делая возможной параметризацию клиентских объектов с другими запросами, организацию очереди или регистрацию запросов, а также поддержку отмены операций. Паттерн Команда отделяет объект, выдающий запросы, от объекта, который умеет эти запросы выполнять. Объект команды инкапсулирует получателя с операцией или набором операций. Инициатор вызываем метод Execute() объекта команды что приводит […]
Паттерн Одиночка Singleton C#
Паттерн Одиночка гарантирует что в любой момент времени существует только один экземпляр класса.Если у класса вашего приложения должен существовать только один экземпляр, воспользуйтесь паттерном Одиночка. Реализация паттерна Одиночка на языке C# использует приватный конструктор и статический метод в сочетании со статической переменной. Паттерн Одиночка предоставляет глобальную точку доступа к этому экземпляру. Давайте рассмотрим интересный пример, […]
Абстрактная фабрика на C#
Паттерн Абстрактная Фабрика предоставляет интерфейс создания семейств взаимосвязанных или взаимозависимых объектов без указания их конкретных классов. Разница между Абстрактной фабрикой и абстрактным методом в том, что абстрактный метод использует наследования, абстрактная фабрика композицию. Я упростил пример из фабричного метода, чтобы не перегружать его кодом, так как пришлось бы для каждого вида начинок, вариаций пицц итд […]
Фабричный метод. C#
Один из самых популярных паттернов, позволяет создавать различные продукты, без указания классов продуктов. Паттерн Фабричный Метод определяет интерфейс создания объекта, но позволяет субклассам выбрать класс создаваемого экземпляра. Таким образом, Фабричный Метод делегирует операцию создания экземпляра субклассам. Давайте рассмотрим пример, который предполагает создания конвейера по изготовлению пиццы. Я не буду сильно перегружать кодом, остановимся на изготовлении […]