コード例 #1
0
ファイル: Program.cs プロジェクト: Jeffiy/DesignPatterns
        static void Main(string[] args)
        {
            Person p = new Person("小明");
            p.Show();
            Console.WriteLine();

            TShirts ts = new TShirts();
            ts.Decorate(p);
            ts.Show();

            BigTrouser dt = new BigTrouser();
            dt.Show();
            Console.WriteLine();
            dt.Decorate(p);
            dt.Show();

            dt.Decorate(ts);
            dt.Show();
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: ElvinChan/DesignPattern
        static void Main(string[] args)
        {
            #region 基本用法(对应Basic.cs)
            ConcreteComponent c = new ConcreteComponent();
            ConcreteDecoratorA d1 = new ConcreteDecoratorA();
            ConcreteDecoratorB d2 = new ConcreteDecoratorB();

            d1.SetComponent(c);
            d2.SetComponent(d1);

            d2.Operation();
            #endregion

            #region 具体实例(对应Example.cs)
            Person xc = new Person("小菜");
            Console.WriteLine("\n第一种装扮:");

            Sneaker pqx = new Sneaker();
            BigTrouser kk = new BigTrouser();
            TShirt dtx = new TShirt();

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

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

            LeatherShoes px = new LeatherShoes();
            Tie ld = new Tie();
            Suit xz = new Suit();

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

            Console.ReadLine();
            #endregion
        }
コード例 #3
0
ファイル: Decorator.cs プロジェクト: bqIcelove/DesignPattern
 public Decorator(Person p)
 {
     this.p = p;
 }
コード例 #4
0
ファイル: Finery.cs プロジェクト: hexuwsbg/RepositoryDP
 public void Decorate( Person component )
 {
     this.component = component;
 }
コード例 #5
0
ファイル: Ring.cs プロジェクト: bqIcelove/DesignPattern
 public Ring(Person p)
     : base(p)
 {
 }
コード例 #6
0
ファイル: Necklace.cs プロジェクト: bqIcelove/DesignPattern
 public Necklace(Person p)
     : base(p)
 {
 }
コード例 #7
0
ファイル: Clothing.cs プロジェクト: liekiss/DesignPattern
 public void Decorate(Person compont)
 {
     _compont = compont;
 }