【设计模式】简单工厂

在go里面,实现一个interface里面定义的方法就是实现了这个接口

  • 定义的一个接口

    type Api interface {
        Say(name string) string
    }
  • 实现接口

    type SayHi struct{}
    func (sayHi *SayHi) Say(name string) string {
        return "Hi, " + name
    }
  • 两种打招呼的方法

    type SayHi struct{}
    func (sayHi *SayHi) Say(name string) string {
        return "Hi, " + name
    }
    type SayHello struct{}
    func (sayHello *SayHello) Say(name string) string {
        return "Hello, " + name
    }
  • 通过传入类型来实现一个简单工厂

    func NewAPI(t string) API {
        if t == "hi" {
                return &SayHi{}
        } else if t == "hello" {
                return &SayHello{}
        }
        return nil
    }

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论审核已启用。您的评论可能需要一段时间后才能被显示。