源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#装饰者模式实例分析

  • 时间:2022-02-20 18:58 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#装饰者模式实例分析
本文实例讲述了C#装饰者模式。分享给大家供大家参考。具体方法如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 装饰者
{
  class Program
  {
    static void Main(string[] args)
    {
      ConcreteComponent con = new ConcreteComponent();
      ConcreteDecoratorA a = new ConcreteDecoratorA();
      a.SetComponent(con);
      a.Operation();
      a.AddBehavior();
      Console.WriteLine("============================");
      ConcreteDecoratorB B = new ConcreteDecoratorB();
      B.SetComponent(a);
      a.AddBehavior();
      B.Operation();
      B.AddBehavior();
    }
    public abstract class Component
    {
      public abstract void Operation();
    }
    abstract class Decorator : Component
    {
      private Component component;
      public void SetComponent(Component component)
      {
        this.component = component;
      }
      public override void Operation()
      {
        if (component != null)
        {
          component.Operation();
        }
      }
    }
    class ConcreteDecoratorA : Decorator
    {
      public override void Operation()
      {
        base.Operation();
      }
      public void AddBehavior()
      {
        Console.WriteLine("装饰A类的操作!");
      }
    }
    class ConcreteDecoratorB : Decorator
    {
      public override void Operation()
      {
        base.Operation();
      }
      public void AddBehavior()
      {
        Console.WriteLine("装饰B类的操作!");
      }
    }
    public class ConcreteComponent : Component
    {
      public override void Operation()
      {
        Console.WriteLine("具体对象的操作!");
      }
    }
  }
}
希望本文所述对大家的C#程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部