コード例 #1
0
ファイル: ToyFactory.cs プロジェクト: cwloon96/Patterns
        public Toy ProductToy(ToyStyle style)
        {
            var toy = CreateToy(style); // Factory method

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

            return(toy);
        }
コード例 #2
0
ファイル: ToyFactory.cs プロジェクト: cwloon96/Patterns
 protected override Toy CreateToy(ToyStyle style) => new FerryToy(style);
コード例 #3
0
ファイル: ToyFactory.cs プロジェクト: cwloon96/Patterns
 protected override Toy CreateToy(ToyStyle style) => new HelicopterToy(style);
コード例 #4
0
ファイル: ToyFactory.cs プロジェクト: cwloon96/Patterns
 protected abstract Toy CreateToy(ToyStyle style);
コード例 #5
0
ファイル: Toy.cs プロジェクト: cwloon96/Patterns
 public FerryToy(ToyStyle style) : base(style)
 {
     Type  = ToyType.Ferry;
     Price = 30;
 }
コード例 #6
0
ファイル: Toy.cs プロジェクト: cwloon96/Patterns
 public HelicopterToy(ToyStyle style) : base(style)
 {
     Type  = ToyType.Helicopter;
     Price = 50;
 }
コード例 #7
0
ファイル: Toy.cs プロジェクト: cwloon96/Patterns
 public CarToy(ToyStyle style) : base(style)
 {
     Type  = ToyType.Car;
     Price = 20;
 }
コード例 #8
0
ファイル: Toy.cs プロジェクト: cwloon96/Patterns
 public void Prepare() => Console.WriteLine($"A {ToyStyle.ToString()} Style of {Type.ToString()} is prepared.");
コード例 #9
0
ファイル: Toy.cs プロジェクト: cwloon96/Patterns
 public Toy(ToyStyle style)
 {
     ToyStyle = style;
 }