static void Main() { Person jack = new Person("杰克"); Console.WriteLine("第一种装扮:"); // 创建装饰物: // ---------- var shirts = new TShirts(); var sneakers = new Sneakers(); var bigtrouser = new BigTrouser(); // 装饰过程: // -------- // 机理:B对象装饰A、C对象装饰B、D对象装饰C .. // 核心在于都执行了base.Show() 即Finery.Show() shirts.Decorator(jack); sneakers.Decorator(shirts); bigtrouser.Decorator(sneakers); // 打印 bigtrouser.Show(); Console.Read(); }
static void Main(string[] args) { Person xc = new Person("小菜"); Console.WriteLine("\n第一种装扮:"); Sneakers pqx = new Sneakers(); BigTrouser kk = new BigTrouser(); TShirts dtx = new TShirts(); 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.ReadKey(); }
private static void NewMethod1() { Person pr = new Person("Leng"); Console.WriteLine("first look"); Finery tShirts = new TShirts(); tShirts.Show(); Finery bigTrouser = new BigTrouser(); bigTrouser.Show(); Finery sneakers = new Sneakers(); sneakers.Show(); pr.Show(); Console.WriteLine("\nsecond look"); Finery suit = new Suit(); suit.Show(); Finery tie = new Tie(); tie.Show(); Finery leatherShoes = new LeatherShoes(); leatherShoes.Show(); pr.Show(); Console.Read(); }
private static void NewMethod() { Person person = new Person("Leng"); Console.WriteLine("first look"); Sneakers sneakers = new Sneakers(); BigTrouser trouser = new BigTrouser(); TShirts tShirts = new TShirts(); //Decoration process sneakers.Decorate(person); trouser.Decorate(sneakers); tShirts.Decorate(trouser); tShirts.Show(); Console.WriteLine("\nsecond look"); LeatherShoes leatherShoes = new LeatherShoes(); Tie tie = new Tie(); Suit suit = new Suit(); //Decoration process leatherShoes.Decorate(person); tie.Decorate(leatherShoes); suit.Decorate(tie); suit.Show(); Console.Read(); }
public static void Main(string[] args) { var person = new Person("Bryan"); Console.WriteLine("第一種裝扮"); Finery tShirts = new TShirts(); Finery bigTrouser = new BigTourser(); Finery sneakers = new Sneakers(); tShirts.Decorate(person); bigTrouser.Decorate(tShirts); sneakers.Decorate(bigTrouser); sneakers.Show(); Console.WriteLine("第二種裝扮"); Finery suit = new Suit(); Finery tie = new Tie(); Finery leatherShoes = new LeatherShoes(); suit.Decorate(person); tie.Decorate(suit); leatherShoes.Decorate(tie); leatherShoes.Show(); Console.Read(); }
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(); }