美文网首页
2023-04-28 Go基础——抽象工厂模式

2023-04-28 Go基础——抽象工厂模式

作者: Lovevivi | 来源:发表于2024-03-20 01:52 被阅读0次

抽象工厂模式是一种常见的设计模式,它提供了一种方式来创建一组相关或依赖的对象,而不需要指定它们的具体类型。抽象工厂模式通常使用接口或抽象类来定义一组相关对象的抽象接口,然后使用具体的工厂类来实现该接口并创建具体的对象。

在抽象工厂模式中,有两个重要的概念:抽象工厂和具体工厂。抽象工厂定义了一组相关对象的抽象接口,而具体工厂实现了该接口并创建具体的对象。客户端代码通常使用抽象工厂来创建对象,而不需要知道具体的工厂或对象实现。

以下是一个简单的抽象工厂模式的示例,用于创建不同类型的电脑:

type ComputerFactory interface {
    CreateCPU() CPU
    CreateMemory() Memory
}

type DellFactory struct {}
func (f *DellFactory) CreateCPU() CPU {
    return &DellCPU{}
}
func (f *DellFactory) CreateMemory() Memory {
    return &DellMemory{}
}

type HPFactory struct {}
func (f *HPFactory) CreateCPU() CPU {
    return &HPCPU{}
}
func (f *HPFactory) CreateMemory() Memory {
    return &HPMemory{}
}

type CPU interface {
    Run()
}

type Memory interface {
    Store()
}

type DellCPU struct {}
func (c *DellCPU) Run() {}

type DellMemory struct {}
func (m *DellMemory) Store() {}

type HPCPU struct {}
func (c *HPCPU) Run() {}

type HPMemory struct {}
func (m *HPMemory) Store() {}

在这个示例中,ComputerFactory 定义了一组创建 CPU 和 Memory 对象的抽象接口,DellFactoryHPFactory 分别实现了该接口并创建了具体的 CPU 和 Memory 对象。客户端代码可以使用 ComputerFactory 接口来创建不同类型的电脑,而不需要知道具体的工厂或对象实现。

抽象工厂模式可以帮助我们创建一组相关的对象,并将它们的创建细节隐藏在具体工厂中。这样可以使客户端代码更加灵活和可维护,同时也可以提高代码的可复用性。

相关文章

  • Go语言设计模式(3)抽象工厂模式

    Go语言设计模式(3)抽象工厂模式 抽象工厂模式的定义 抽象工厂模式的定义如下: Provide an inter...

  • go闭包和工厂模式

    先说工厂模式,工厂模式有3种:简单工厂模式;工厂方法模式;抽象工厂模式。 go语言中的闭包已经在上一节golang...

  • Android设计模式:工厂设计模式

    目录 简单工厂模式工厂方法模式抽象工厂模式 简单工厂模式 简单工厂模式是所有工厂模式的基础,不属于23种设计模式范...

  • 抽象工厂模式-创建型模式

    抽象工厂模式就是在工厂模式的基础上多加几个产品。工厂模式的工厂类可以创建一个产品,而抽象工厂模式类可以创建一系列产...

  • 抽象工厂模式(选择产品簇)

    目录 回顾众多工厂模式 抽象工厂模式的理念 抽象工厂模式与工厂方法模式的差异 怎么来实现抽象工厂模式 抽象工厂模式...

  • 抽象工厂

    iOS设计模式 - 抽象工厂 原理图 说明 抽象工厂相当于在简单工厂基础上将工厂进行了抽象 抽象工厂提供了创建一系...

  • 工厂模式

    工厂模式细分三种:简单工厂模式、工厂模式、抽象工厂模式。 工厂模式相当于抽象了简单工厂模式的工厂类,而抽象工厂模式...

  • 【抽象工厂模式】Abstract Factory Design

    抽象工厂模式 抽象工厂模式是**Creational **模式之一 抽象工厂模式和工厂模式很相似,甚至可以说抽象工...

  • 设计模式 - 15.命令模式 [行为型模式]

    大纲小结基础准则基础准则创建型模式单例模式-原型模式-简单工厂模式-抽象工厂模式-建造者模式结构型模式代理模式-适...

  • 设计模式 - 21.访问者模式 [行为型模式]

    大纲小结基础准则基础准则创建型模式单例模式-原型模式-简单工厂模式-抽象工厂模式-建造者模式结构型模式代理模式-适...

网友评论

      本文标题:2023-04-28 Go基础——抽象工厂模式

      本文链接:https://www.haomeiwen.com/subject/vtjijdtx.html