static void Main(string[] args) { Console.WriteLine("App: Launched with the ConcreteCreator1."); ClientCode(new ConcreteCreator1()); Console.WriteLine(); Console.WriteLine("App: Launched with the ConcreteCreator2."); ClientCode(new ConcreteCreator2()); /** * Example 2 (simpler, from Dmitri Nesteruk - Design Patterns in .NET book): */ Console.WriteLine(); var point = Point.NewPolarPoint(5, Math.PI / 4); var point2 = Point.NewCartesianPoint(50, 45); Console.WriteLine(point.ToString()); Console.WriteLine(point2.ToString()); Console.WriteLine(); PointWithPublicConstructor p3 = PointFactory.NewPolarPoint(5, Math.PI / 4); PointWithPublicConstructor p4 = PointFactory.NewCartesianPoint(50, 45); Console.WriteLine(p3.ToString()); Console.WriteLine(p4.ToString()); Console.WriteLine(); Point2 p5 = Point2.Point2Factory.NewPolarPoint(5, Math.PI / 4); Point2 p6 = Point2.Point2Factory.NewCartesianPoint(50, 45); Console.WriteLine(p5.ToString()); Console.WriteLine(p6.ToString()); Console.Read(); }
static void Main(string[] args) { var point = PointFactory.NewPolarPoint(1.0, Math.PI / 2); Console.WriteLine(point); }