简易的工厂设计模式

科技资讯 投稿 6200 0 评论

简易的工厂设计模式

下面是一个完整的C#实现案例:

public interface IAnimal
{
    void Speak(;
}

然后,我们定义两个实现该接口的类:

public class Dog : IAnimal
{
    public void Speak(
    {
        Console.WriteLine("狗说:汪,汪";
    }
}

public class Cat : IAnimal
{
    public void Speak(
    {
        Console.WriteLine("猫说:喵。";
    }
}

接下来,我们定义一个工厂类,该类根据传入的参数创建相应的对象:

public class AnimalFactory
{
    public IAnimal GetAnimal(string animalType
    {
        switch (animalType.ToLower(
        {
            case "dog":
                return new Dog(;
            case "cat":
                return new Cat(;
            default:
                throw new ArgumentException("无效动物型";
        }
    }
}

最后,我们可以使用工厂类来创建对象:

AnimalFactory animalFactory = new AnimalFactory(;

IAnimal dog = animalFactory.GetAnimal("dog";
dog.Speak(; // 输出:狗说:汪汪

IAnimal cat = animalFactory.GetAnimal("cat";
cat.Speak(; // 输出:猫说:喵

在这个例子中,我们使用工厂类来创建不同类型的动物对象,而不需要暴露对象的创建逻辑。这使得我们可以轻松地添加新的动物类型,而不需要修改现有的代码。

编程笔记 » 简易的工厂设计模式

赞同 (31) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽