抽象工厂模式_Go语言设计模式-抽象工厂

抽象工厂模式

抽象工厂是一种创建型的设计模式,用于创建一系列相关对象。它是对工厂模式的抽象。用一个例子来解释,假设我们有两家工厂:

  • nike
  • adidas

想象一下你需要买包括运动鞋和运动服的运动套装,大多数时候你想买同一个工厂生产的一套运动套装,比如nike套装或adidas套装。你想要的具体产品是成套的鞋子和短裤,这就是抽象工厂运用的场景,这些产品将由nike或adidas的抽象工厂创建。

以下是工厂接口:

  • iSportsFactory - 这个工厂接口由具体工厂nike和adidas来实现

以下是两个产品接口:

  • iShoe – 这个接口由具体产品nikeShoe和adidasShoe来实现
  • iShort – 这个接口由具体产品nikeShort和adidasShort来实现

现在让我们来看抽象工厂接口iSportsFactory的代码:

f2da3962b3e959d5ab6a0ccd9ca41e2a.png

以下是具体工厂结构adidas的代码:

2490e3161e3143c7a725fa34df514053.png

以下是具体工厂结构nike的代码:

11d5b5db0379cb926975acaebceb9007.png

以下是抽象运动鞋接口iShoe具体运动鞋基结构shoe的代码:

08b1aa8c656e038bc2a6bd77733357a2.png

以下是具体运动鞋子结构adidasShoe的代码:

21dad8d5ce0b3873434cb13ced6a93cc.png

以下是具体运动鞋子结构nikeShoe的代码:

bce018576adad80063d81b29af871501.png

以下是抽象运动服接口iShort具体运动服基结构short的代码:

b649965ae4dfe300998a916dad0a0823.png

以下是具体运动服子结构adidasShort的代码:

beae4183bfe6994e4fb7d6c471d9ef09.png

以下是具体运动服子结构nikeShort的代码:

1c8f08efa5103c866e52a738c2377547.png

以下是main函数代码:

baacfc9dcc6ea0ebeb8739a09b7325a3.png

结果:

Logo: nike

Size: 14

Logo: nike

Size: 14

Logo: adidas

Size: 14

Logo: adidas

Size: 14

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值