package main
import "fmt"
// 用抽象工厂模式来实现连接数据库
/*
pgsql
mysql
*/
type ConnectDb interface {
connect()
}
type MysqlServer struct {}
func (s *MysqlServer) connect() {
fmt.Println("已连接mysql数据库")
}
type PgsqlServer struct {}
func (s *PgsqlServer) connect() {
fmt.Println("已连接pgsql数据库")
}
// 抽象工厂
type AbstractFactory interface {
ConnectMysql() ConnectDb
ConnectPgsql() ConnectDb
}
type ObjAbstractFactory struct {}
func NewConnect() *ObjAbstractFactory {
return &ObjAbstractFactory{}
}
func (f *ObjAbstractFactory) ConnectMysql() ConnectDb {
return &MysqlServer{}
}
func (f *ObjAbstractFactory) ConnectPgsql() ConnectDb {
return &PgsqlServer{}
}
func main() {
oaf := NewConnect()
cd := oaf.ConnectMysql()
cd.connect()
cd1:= oaf.ConnectPgsql()
cd1.connect()
}```
go使用抽象工厂模拟连接数据库
最新推荐文章于 2024-07-25 15:06:16 发布