设计模式-工厂方法模式(Factory Method Pattern)

工厂方法模式

工厂方法模式定义了一个用于创建对象的接口,让子类决定实例化哪个类。 该模式允许类将实例化延迟到子类。

Product

即将使用工厂方法创建的对象(接口)。

ConcreteProduct

Product的实现。

Creator

声明工厂方法,返回Product类型的对象。 创建者也可以定义工厂方法的默认实现,它返回一个默认的ConcreteProduct对象。可以调用工厂方法来创建一个Product对象。

ConcreteCreator

重写工厂方法以返回一个ConcreteProduct的实例。

代码示例

public abstract class UserCreator
{
    public abstract User Create();
}

public class NormaluserCreator : UserCreator
{
    public override User Create()
    {
        return new Normaluser();
    }
}

public class SuperuserCreator : UserCreator
{
    public override User Create()
    {
        return new Superuser();
    }
}

//---------------------------------------------------
UserCreator factory = new NormaluserCreator();
var nUser = factory.Create();
nUser.Read();
nUser.Write();
factory = new SuperuserCreator();
var sUser = factory.Create();
sUser.Read();
sUser.Write();
...
posted @ 2022-03-11 15:29  壮哈苗  阅读(44)  评论(0编辑  收藏  举报