SoFunction
Updated on 2025-03-01

C# Decorator Pattern Example Analysis

This article describes the C# decorator pattern. Share it for your reference. The specific methods are as follows:

using System;
using ;
using ;
using ;

namespace Decorators
{
  class Program
  {
    static void Main(string[] args)
    {
      ConcreteComponent con = new ConcreteComponent();
      ConcreteDecoratorA a = new ConcreteDecoratorA();
      (con);
      ();
      ();
      ("============================");
      ConcreteDecoratorB B = new ConcreteDecoratorB();
      (a);
      ();
      ();
      ();
    }
    public abstract class Component
    {
      public abstract void Operation();
    }
    abstract class Decorator : Component
    {
      private Component component;
      public void SetComponent(Component component)
      {
         = component;
      }
      public override void Operation()
      {
        if (component != null)
        {
          ();
        }
      }
    }
    class ConcreteDecoratorA : Decorator
    {
      public override void Operation()
      {
        ();
      }
      public void AddBehavior()
      {
        ("Decorate Class A operations!");
      }
    }
    class ConcreteDecoratorB : Decorator
    {
      public override void Operation()
      {
        ();
      }
      public void AddBehavior()
      {
        ("Decorate Class B operation!");
      }
    }
    public class ConcreteComponent : Component
    {
      public override void Operation()
      {
        ("Operation of specific objects!");
      }
    }
  }
}

I hope this article will be helpful to everyone's C# programming.