zoukankan      html  css  js  c++  java
  • 装饰者模式

    using System;
    using System.Collections.Generic;
    using System.Text;

    //装饰者模式
    namespace designMode
    {
    class Person
    {
    public Person()
    {

    }

    private string name;
    public Person(string name)
    {
    this.name = name;
    }

    public virtual void Show()
    {
    Console.WriteLine(
    "装扮的{0}", name);
    }
    }

    class Finery : Person
    {
    protected Person component;

    //打扮
    public void Decorate(Person component)
    {
    this.component = component;
    }

    public override void Show()
    {
    if (component != null)
    {
    component.Show();
    }
    }
    }

    class TShirts : Finery
    {
    public override void Show()
    {
    {
    Console.WriteLine(
    "大T恤");
    base.Show();
    }
    }
    }

    class BigTrouser : Finery
    {
    public override void Show()
    {
    {
    Console.WriteLine(
    "垮裤");
    base.Show();
    }
    }
    }

    class WearSneakers : Finery
    {
    public override void Show()
    {
    {
    Console.WriteLine(
    "破球鞋");
    base.Show();
    }
    }
    }

    class WearSuit : Finery
    {
    public override void Show()
    {
    {
    Console.WriteLine(
    "西装");
    base.Show();
    }
    }
    }

    class WearTie : Finery
    {
    public override void Show()
    {
    {
    Console.WriteLine(
    "领带");
    base.Show();
    }
    }
    }

    class WearLeatherShoes : Finery
    {
    public override void Show()
    {
    {
    Console.WriteLine(
    "破球鞋");
    base.Show();
    }
    }
    }

    }

      

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace designMode
    {
    class Program
    {
    static void Main(string[] args)
    {

    //装饰者模式
    Person xc = new Person("小菜");
    Console.WriteLine(
    "\n第一张装扮:");

    WearSneakers pqx
    = new WearSneakers();
    BigTrouser kk
    = new BigTrouser();
    TShirts dtx
    = new TShirts();

    pqx.Decorate(xc);
    kk.Decorate(pqx);
    dtx.Decorate(kk);
    dtx.Show();

    Console.WriteLine(
    "\n第二种装扮:");

    WearLeatherShoes px
    = new WearLeatherShoes();
    WearTie ld
    = new WearTie();
    WearSuit xz
    = new WearSuit();

    px.Decorate(xc);
    ld.Decorate(px);
    xz.Decorate(ld);
    xz.Show();

    Console.Read();
    }
    }
    }

      

  • 相关阅读:
    构建之法阅读笔记05
    构建之法阅读笔记04
    大二上学期软件工程概论学习进度表(第十二周)
    构建之法阅读笔记03
    四则运算二
    GCD
    Category的使用
    适配6 、6P 来源互联网
    UIView阴影和圆角的关系
    NSSet类型 以及与NSArray区别
  • 原文地址:https://www.cnblogs.com/cjingzm/p/2124395.html
Copyright © 2011-2022 走看看