Esempio n. 1
0
        public Toy ProductToy(ToyStyle style)
        {
            var toy = CreateToy(style); // Factory method

            toy.Prepare();
            toy.Package();
            toy.Label();

            return(toy);
        }
Esempio n. 2
0
 protected override Toy CreateToy(ToyStyle style) => new FerryToy(style);
Esempio n. 3
0
 protected override Toy CreateToy(ToyStyle style) => new HelicopterToy(style);
Esempio n. 4
0
 protected abstract Toy CreateToy(ToyStyle style);
Esempio n. 5
0
 public FerryToy(ToyStyle style) : base(style)
 {
     Type  = ToyType.Ferry;
     Price = 30;
 }
Esempio n. 6
0
 public HelicopterToy(ToyStyle style) : base(style)
 {
     Type  = ToyType.Helicopter;
     Price = 50;
 }
Esempio n. 7
0
 public CarToy(ToyStyle style) : base(style)
 {
     Type  = ToyType.Car;
     Price = 20;
 }
Esempio n. 8
0
 public void Prepare() => Console.WriteLine($"A {ToyStyle.ToString()} Style of {Type.ToString()} is prepared.");
Esempio n. 9
0
 public Toy(ToyStyle style)
 {
     ToyStyle = style;
 }