工厂模式

工厂模式是一种常见的设计模式,它用于创建对象的方式。在工厂模式中,我们定义一个接口或者抽象类来创建对象,而将实际的对象创建延迟到子类中。这样可以以统一的方式创建对象,同时也可以方便地扩展和修改对象的创建过程。

下面是一个简单的示例代码,演示了工厂模式的实现:

复制代码
using System;

// 定义产品接口
interface IProduct
{
    void Show();
}

// 具体产品类A
class ConcreteProductA : IProduct
{
    public void Show()
    {
        Console.WriteLine("This is product A");
    }
}

// 具体产品类B
class ConcreteProductB : IProduct
{
    public void Show()
    {
        Console.WriteLine("This is product B");
    }
}

// 工厂接口
interface IFactory
{
    IProduct CreateProduct();
}

// 具体工厂类A
class ConcreteFactoryA : IFactory
{
    public IProduct CreateProduct()
    {
        return new ConcreteProductA();
    }
}

// 具体工厂类B
class ConcreteFactoryB : IFactory
{
    public IProduct CreateProduct()
    {
        return new ConcreteProductB();
    }
}

class Program
{
    static void Main()
    {
        // 使用工厂A创建产品A
        IFactory factoryA = new ConcreteFactoryA();
        IProduct productA = factoryA.CreateProduct();
        productA.Show();

        // 使用工厂B创建产品B
        IFactory factoryB = new ConcreteFactoryB();
        IProduct productB = factoryB.CreateProduct();
        productB.Show();
    }
}
复制代码

在上面的代码中,我们定义了一个产品接口 IProduct 和两个具体的产品类 ConcreteProductA 和 ConcreteProductB。同时,我们定义了一个工厂接口 IFactory 和两个具体的工厂类 ConcreteFactoryA 和 ConcreteFactoryB。每个具体工厂类负责创建对应的产品类实例。

在 Main() 方法中,我们使用工厂类来创建具体的产品实例,并调用其方法展示产品的信息。

这个例子展示了如何使用工厂模式来创建对象,使得客户端代码和具体对象的创建逻辑解耦,同时方便地扩展和切换不同的创建逻辑。

posted @   电器小君子  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示