02.01工厂方法模式

工厂方法模式

在简单工厂模式中,只有唯一的一个factory来判断生成不一样的product,但是实际中可能会出现不同的factory来生产不同的商品。工厂方法模式是简单工厂的变化


// 抽象商品和工厂
namespace 工厂方法模式
{
    public abstract class Factory
    {
        public abstract Product Create();

    }

    public abstract class Product
    {

    }
}


// 具体商品
namespace 工厂方法模式
{
    class Car : Product
    {

    }

    class Phone : Product
    {
    }
}

// 具体工厂
namespace 工厂方法模式
{
    class CarFactory : Factory
    {
        public override Product Create()
        {
            return new Car();
        }
    }

    class PhoneFactory : Factory
    {
        public override Product Create()
        {
            return new Phone();
        }
    }
}

// 创建实例

namespace 工厂方法模式
{
    class Program
    {
        static void Main(string[] args)
        {
            Factory factory = new CarFactory();
            Product car = factory.Create();

            Factory phoneFactory = new PhoneFactory();
            Product phone = phoneFactory.Create();
        }
    }
}


posted on 2022-11-14 22:25  杏村牧童  阅读(12)  评论(0编辑  收藏  举报