Фабричный метод (Factory Method) - это паттерн, для создания объекта в
подклассе.
Другими словами, данный шаблон делегирует создание объекта
подклассу.
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
// Phone classes
abstract class Phone
{
public abstract Graphic Create();
}
class SamsungPhone : Phone
{
public override Graphic Create() // factory method
{
return new SamsungGraphic();
}
}
class ApplePhone : Phone
{
public override Graphic Create() // factory method
{
return new AppleGraphic();
}
}
// Graphic classes
abstract class Graphic
{
}
class AppleGraphic : Graphic
{
}
class SamsungGraphic : Graphic
{
}
// Program class
class Program
{
static void Main(string[] args)
{
// samsung phone
Phone phone = new SamsungPhone();
Graphic graphic = phone.Create(); // factory method
// apple phone
phone = new ApplePhone();
graphic = phone.Create(); // factory method
}
}
}