golang设计模式之工厂方法模式

1. 概述

简单工厂模式是通过传递不同的参数生成不同的实例,缺点就是扩展不同的类别时需要修改代码。

工厂方法模式为每一个product提供一个工程类,通过不同工厂创建不同实例。

类图:

func

相关源代码demo在Github上,可供参考!

2. 实现过程

    1. 工厂方法定义一个创建struct的接口,让子struct去实现。
type AnimalFactory interface {
        CreateAnimal() Action
}
    1. BirdFactory创建一个Bird的实例
type BirdFactory struct {
}

func (this *BirdFactory) CreateAnimal() Action {
        return &Bird{}
}
    1. 工厂方法使用
    bFactory := &BirdFactory{}
    bird := bFactory.CreateAnimal()
    bird.Move(100)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值