static void Main(string[] args) { DuckSimulator duckSimulator = new DuckSimulator(); AbstractDuckFactory duckFactory = new DuckCountingFactory(); duckSimulator.simulate(duckFactory); }
public void VariableDuckQuackTest() { var duckSimulator = new DuckSimulator(); AbstractDuckFactory factory = new CountingDuckFactory(); AbstractGooseFactory gooseFactory = new GooseFactory(); duckSimulator.Simulate(factory, gooseFactory); }
public void Compound_Strategy_Behavior() { DuckSimulator duckSim = new DuckSimulator(); IQuackable duck1 = new MallardDuck(); IQuackable duck2 = new DuckCall(); duckSim.Simulate(duck1); duckSim.Simulate(duck2); }
public void Compound_Adapter_Behavior() { DuckSimulator duckSim = new DuckSimulator(); IQuackable duck1 = new RubberDuck(); Goose goose = new Goose(); IQuackable gooseAdapter = new GooseAdapter(goose); duckSim.Simulate(duck1); duckSim.Simulate(gooseAdapter); }
public void Compound_Decorator_Behavior() { DuckSimulator duckSim = new DuckSimulator(); IQuackable duck1 = new QuackCounter(new RubberDuck()); Goose goose = new Goose(); IQuackable gooseAdapter = new QuackCounter(new GooseAdapter(goose)); duckSim.Simulate(duck1); duckSim.Simulate(gooseAdapter); Assert.AreEqual(2, QuackCounter.GetQuackCount()); }
public static void Main(string[] args) { Program p = new Program(); p.Run(); DuckSimulator duckSimulator = new DuckSimulator(); duckSimulator.Execute(); p.Exit(); }
public void Compound_Observer() { DuckSimulator sim = new DuckSimulator(); Flock flockDucks = new Flock(); IDuckFactory duckFactory = new DuckCounterFactory(); flockDucks.Add(duckFactory.CreateMallardDuck()); flockDucks.Add(duckFactory.CreateRubberDuck()); flockDucks.Add(duckFactory.CreateRedheadDuck()); flockDucks.Add(duckFactory.CreateDuckCall()); flockDucks.Add(new GooseAdapter(new Goose())); flockDucks.RegisterObservers(new QuackologistObserver()); sim.Simulate(flockDucks); Assert.AreEqual(4, QuackCounter.GetQuackCount()); }
public void Compound_Composite() { DuckSimulator sim = new DuckSimulator(); Flock flockDucks = new Flock(); IDuckFactory duckFactory = new DuckFactory(); flockDucks.Add(duckFactory.CreateMallardDuck()); flockDucks.Add(duckFactory.CreateMallardDuck()); flockDucks.Add(duckFactory.CreateMallardDuck()); flockDucks.Add(duckFactory.CreateMallardDuck()); Flock flockRubberDucks = new Flock(); flockRubberDucks.Add(duckFactory.CreateRubberDuck()); flockRubberDucks.Add(duckFactory.CreateRubberDuck()); flockRubberDucks.Add(duckFactory.CreateRubberDuck()); flockDucks.Add(flockRubberDucks); sim.Simulate(flockDucks); }
static void Main(string[] args) { Console.WriteLine("<< HEAD FIRST DESIGN PATTERNS >>"); Console.WriteLine(); Console.WriteLine("////////// STRATEGY PATTERN //////////"); Console.WriteLine(); MiniDuckSimulator.Start(); Console.WriteLine(); Console.WriteLine("////////// OBSERVER PATTERN //////////"); Console.WriteLine(); WheatherStationSimulator.Start(); Console.WriteLine(); Console.WriteLine("////////// DECORATOR PATTERN //////////"); Console.WriteLine(); StarbuzzCoffeeSimulator.Start(); Console.WriteLine(); Console.WriteLine("////////// FACTORY METHOD PATTERN //////////"); Console.WriteLine(); PizzaTestDriveSimulator.Start(); Console.WriteLine(); Console.WriteLine("////////// ABSTRACT FACTORY PATTERN //////////"); Console.WriteLine(); PizzaUsingAbstractFactorySimulator.Start(); Console.WriteLine(); Console.WriteLine("////////// SINGLETON PATTERN //////////"); Console.WriteLine(); ChocolateBoilerControllerSimulator.Start(); Console.WriteLine(); Console.WriteLine("////////// COMMAND PATTERN //////////"); Console.WriteLine(); RemoteControlSimulator.Start(); Console.WriteLine(); Console.WriteLine("////////// ADAPTER PATTERN //////////"); Console.WriteLine(); TurkeyAdapterSimulator.Start(); Console.WriteLine(); Console.WriteLine("////////// FACADE PATTERN //////////"); Console.WriteLine(); HomeTheaterSimulator.Start(); Console.WriteLine(); Console.WriteLine("////////// TEMPLATE METHOD PATTERN //////////"); Console.WriteLine(); CaffeineBeverageMakerSimulator.Start(); Console.WriteLine(); Console.WriteLine("////////// ITERATOR PATTERN //////////"); Console.WriteLine(); MenuSimulator.Start(); Console.WriteLine(); Console.WriteLine("////////// COMPOSITE PATTERN //////////"); Console.WriteLine(); MenuTestDriveSimulator.Start(); Console.WriteLine(); Console.WriteLine("////////// STATE PATTERN //////////"); Console.WriteLine(); GumballMachineSimulator.Start(); Console.WriteLine(); Console.WriteLine("////////// PROXY PATTERN (VIRTUAL) //////////"); Console.WriteLine(); ImageProxySimulator.Start(); Console.WriteLine(); Console.WriteLine("////////// COMPOUND PATTERNS (DUCKREUNION) //////////"); Console.WriteLine(); DuckSimulator.Start(); Console.ReadLine(); }
public static void Start() { var simulator = new DuckSimulator(); simulator.Simulate(new CountingDuckFactory()); }
private static void CompoundPattern() { DuckSimulator duckSimulator = new DuckSimulator(); }