static void Main(string[] args) { Person p = new Person("Ben"); TShirts ts = new TShirts(); BigTrouser bt = new BigTrouser(); ts.Decorate(p); bt.Decorate(ts); bt.Show(); }
static void Main(string[] args) { Person ps = new Person("Harkey"); TShirts ts = new TShirts(); BigTrouser bt = new BigTrouser(); NikeShoes ns = new NikeShoes(); ns.Decorate(ps); bt.Decorate(ns); ts.Decorate(bt); ts.Show(); }
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(); }
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(); }
static void Main(string[] args) { var c = new ConcreteComponent(); var d1 = new ConcreteDecoratorA(); var d2 = new ConcreteDecoratorB(); d1.SetComponent(c); d2.SetComponent(d1); d2.Operation(); //範例 Person xc = new Person("小菜"); Console.WriteLine("第一種裝扮"); var kk = new BigTrouser(); var dtx = new TShirts(); kk.Decorate(xc); dtx.Decorate(kk); dtx.Show(); Console.ReadLine(); }
static void Main(string[] args) { Person person = new Person("小菜"); Console.WriteLine("第一種裝扮:"); Finery tShirts = new TShirts(); Finery bigTrouser = new BigTrouser(); Finery sneakers = new Sneakers(); sneakers.Decorate(person); bigTrouser.Decorate(sneakers); tShirts.Decorate(bigTrouser); tShirts.Show(); Console.WriteLine("\n第二種裝扮:"); Finery suit = new Suit(); Finery tie = new Tie(); Finery leatherShoes = new LeatherShoes(); suit.Decorate(person); tie.Decorate(suit); leatherShoes.Decorate(tie); leatherShoes.Show(); Console.WriteLine("\n"); Component component = new ConcreteComponent(); Decorator decoratorA = new ConcreteDecoratorA(); Decorator decoratorB = new ConcreteDecoratorB(); decoratorA.SetComponent(component); decoratorB.SetComponent(decoratorA); decoratorB.Operation(); Console.ReadLine(); }