DBFactory

May 15, 2026 · View on GitHub


类所在位置:

oxygent/db_factory.py

简介

DBFactory 是一个用于数据库实例管理的单例工厂类。它确保在整个应用生命周期中,每种数据库类型只能创建和维护一个实例。该工厂使用单例模式提供对数据库实例的全局访问,同时防止同一数据库类型被创建多个实例。

参数

参数类型 / 允许值默认值描述
_instanceobjectNone工厂维护的唯一数据库实例
_created_classclassNone已创建实例的类类型
_factory_instanceDBFactoryNone单例工厂实例

方法

方法协程 (async)返回值用途
__new__()DBFactory创建或返回 DBFactory 的单例实例
get_instance()object获取指定类类型的实例,若不存在则创建

用法

from oxygent.db_factory import DBFactory
from oxygent.databases import LocalEs

factory = DBFactory()
es_client = factory.get_instance(LocalEs)

# 后续调用返回同一实例
es_client2 = factory.get_instance(LocalEs)
assert es_client is es_client2