private void simulate(AbstractDuckFactory duckFactory) { Quackable md = duckFactory.createMallardDuck(); Quackable rd = duckFactory.createRedheadDuck(); Quackable dc = duckFactory.createDuckCall(); Quackable rud = duckFactory.createRubberDuck(); Quackable gd = new GooseAdapter(new Goose()); Console.WriteLine("\nDuck Simulator\n\n"); Flock flockOfDucks = new Flock(); flockOfDucks.add(md); flockOfDucks.add(rd); flockOfDucks.add(dc); Quackologist qolo = new Quackologist(); flockOfDucks.registerObserver(qolo); gd.registerObserver(qolo); simulate(flockOfDucks); simulate(rud); simulate(gd); Console.WriteLine("\nDuck quacked " + QuackCounter.getQuacks()); Console.ReadLine(); }
public void simulate(AbstractDuckFactory duckFactory) { Quackable mallardDuck = duckFactory.createMallardDuck(); Quackable redheadDuck = duckFactory.createRedheadDuck(); Quackable duckCall = duckFactory.createDuckCall(); Quackable rubberDuck = duckFactory.createRubberDuck(); Goose goose = new Goose(); Quackable gooseAdapter = new GooseAdapter(goose); Flock flockOfDucks = new Flock(); Quackologist quackologist = new Quackologist(); flockOfDucks.add(mallardDuck); flockOfDucks.add(redheadDuck); flockOfDucks.add(duckCall); flockOfDucks.add(rubberDuck); //foarte important sa fie dupa ce am adaugat lez ducks , //inregistrarea observerului se face cu interator pt toate lez ducks existente flockOfDucks.registerObserver(quackologist); Console.WriteLine("Duck Simulator"); simulate(flockOfDucks); Console.WriteLine(" The ducks quacked " + QuackCounter.getQaucks() + " times"); }
public void registerObserver(Observer observer) { var enumerator = quackers.GetEnumerator(); while (enumerator.MoveNext()) { Quackable duck = enumerator.Current; duck.registerObserver(observer); } }
public void quack() { var enumerator = quackers.GetEnumerator(); while (enumerator.MoveNext()) { Quackable quacker = enumerator.Current; quacker.quack(); } }
public void quack() { IEnumerator iterator = quackers.GetEnumerator(); while (iterator.MoveNext()) { Quackable quacker = (Quackable)iterator.Current; quacker.quack(); } }
public void quack() { IEnumerator <Quackable> enumerable = quackers.GetEnumerator(); while (enumerable.MoveNext()) { Quackable quacker = enumerable.Current; quacker.quack(); } }
public void registerObserver(Observer observer) { //foarte important as parcurgem si sa face inregistrare la fiecare in parte IEnumerator <Quackable> enumerable = quackers.GetEnumerator(); while (enumerable.MoveNext()) { Quackable quacker = enumerable.Current; quacker.registerObserver(observer); } }
void Simulate(AbstractDuckFactory duckFactory) { Quackable mallardDuck = duckFactory.CreateMallardDuck(); Quackable redHeadDuck = duckFactory.CreateRedHeadDuck(); Quackable duckCall = duckFactory.CreateDuckCall(); Quackable rubberDuck = duckFactory.CreateRubberDuck(); Quackable gooseAdapter = duckFactory.CreateGeese();// new GeeseAdapter(new Geese()); Flock duckFlock = new Flock(); duckFlock.Add(mallardDuck); duckFlock.Add(redHeadDuck); duckFlock.Add(duckCall); duckFlock.Add(rubberDuck); duckFlock.Add(gooseAdapter); Flock mallardFlock = new Flock(); mallardFlock.Add(duckFactory.CreateMallardDuck()); mallardFlock.Add(duckFactory.CreateMallardDuck()); mallardFlock.Add(duckFactory.CreateMallardDuck()); mallardFlock.Add(duckFactory.CreateMallardDuck()); //again add the mallard to duck flock duckFlock.Add(mallardFlock); //Quackalogist qmallard = new Quackalogist(); //MallardDuck malldck = new MallardDuck(); //malldck.RegisterObservable(qmallard); //Simulate(malldck); //Quackalogist quackalogist = new Quackalogist(); //Quackable mallardDuckDec = new QuackCounter(new MallardDuck()); //mallardDuckDec.RegisterObservable(quackalogist); //Simulate(mallardDuckDec); Quackalogist quackalogistFlock = new Quackalogist(); duckFlock.RegisterObservable(quackalogistFlock); Console.WriteLine("\nPrinting duckflock+ mallardflock"); Simulate(duckFlock); Console.WriteLine("\nPrinting mallardflock"); //mallardFlock.RegisterObservable(quackalogistFlock); Simulate(mallardFlock); Console.WriteLine(QuackCounter.GetQuackCounter()); }
static void Simulator(AbstractDuckFactory duckFactory) { Quackable redheadDuck = duckFactory.CreateReadheadDuck(); Quackable rubberDuck = duckFactory.CreateRubberDuck(); Quackable gooseDuck = new GooseAdapter(new Goose()); Flock flockOfDucks = new Flock(); flockOfDucks.Add(redheadDuck); flockOfDucks.Add(rubberDuck); flockOfDucks.Add(gooseDuck); QuackObserver observer = new QuackObserver(); flockOfDucks.RegisterObserver(observer); Console.WriteLine("模拟器"); Simulator(flockOfDucks); Console.WriteLine("鸭子叫声:" + QuackCounter.GetQuacks()); }
public void simulate(AbstractDuckFactory duckFactory) { Quackable redheadDuck = duckFactory.createRedheadDuck(); Quackable duckCall = duckFactory.createDuckCall(); Quackable rubberDuck = duckFactory.createRubberDuck(); Quackable gooseDuck = new GooseAdapter(new Goose()); Flock flockOfDucks = new Flock(); flockOfDucks.add(redheadDuck); flockOfDucks.add(duckCall); flockOfDucks.add(rubberDuck); flockOfDucks.add(gooseDuck); Flock flockOfMallards = new Flock(); Quackable mallardOne = duckFactory.createMallardDuck(); Quackable mallardTwo = duckFactory.createMallardDuck(); Quackable mallardThree = duckFactory.createMallardDuck(); Quackable mallardFour = duckFactory.createMallardDuck(); flockOfMallards.add(mallardOne); flockOfMallards.add(mallardTwo); flockOfMallards.add(mallardThree); flockOfMallards.add(mallardFour); flockOfDucks.add(flockOfMallards); Console.WriteLine("\nDuck Simulator: With Observer"); Quackologist quackologist = new Quackologist(); flockOfDucks.registerObserver(quackologist); simulate(flockOfDucks); Console.WriteLine("The ducks quacked " + QuackCounter.getQuacks() + " times"); }
public void simulate(AbstractDuckFactory factory) { Quackable redhead = factory.createRedheadDuck(); Quackable call = factory.createDuckCall(); Quackable rubber = factory.createRubberDuck(); Quackable goose = new GooseAdapter(new Goose()); Console.WriteLine("Duck Simulator: With Composite - Flocks"); Flock flockOfDucks = new Flock(); flockOfDucks.add(redhead); flockOfDucks.add(call); flockOfDucks.add(rubber); flockOfDucks.add(goose); Flock flockOfMallards = new Flock(); Quackable mallard1 = factory.createMallardDuck(); Quackable mallard2 = factory.createMallardDuck(); Quackable mallard3 = factory.createMallardDuck(); Quackable mallard4 = factory.createMallardDuck(); flockOfMallards.add(mallard1); flockOfMallards.add(mallard2); flockOfMallards.add(mallard3); flockOfMallards.add(mallard4); flockOfDucks.add(flockOfMallards); Console.WriteLine("Duck Simulator: Whole Flock Simulation"); simulate(flockOfDucks); Console.WriteLine("Duck Simulator: Mallard Flock Simulation"); simulate(flockOfMallards); Console.WriteLine("The ducks quacked " + QuackCounter.getQuacks() + " times"); }
private void simulate(Quackable q) { q.quack(); }
void Simulate(Quackable duck) { duck.Quack(); }
private void simulate(Quackable duck) { duck.quack(); }
public void add(Quackable quacker) { quackers.Add(quacker); }
public QuackCounter(Quackable duck) { m_duck = duck; }
static void Simulator(Quackable duck) { duck.Quack(); }
public QuackCounter(Quackable duck) { this.duckObservable = duck; //observable = new Observable(this.duckObservable); }
public void add(Quackable quacker) //不透明的方法 { m_quackers.Add(quacker); }
public void Add(Quackable duck) { ducks.Add(duck); }
public QuackCounter(Quackable duck) { this.duck = duck; observable = new Observable(duck); }
public QuackCounter(Quackable duck) { this.duck = duck; }
public void Add(Quackable quackable) { quackables.Add(quackable); }