提交最新代码。 代码动态执行存在一些问题,无法执行。

This commit is contained in:
2025-06-26 10:17:05 +08:00
parent 5acfd1f90b
commit 31224ba359
11 changed files with 273 additions and 199 deletions
+37 -1
View File
@@ -7,7 +7,7 @@ from abc import ABC, abstractmethod
import json
class ProjectTookiIt(ABC):
class ProjectToolkit(ABC):
"""
项目类(抽象基类)
描述: 代表整个项目结构的顶层容器
@@ -577,3 +577,39 @@ class Fee:
self.施工费 = None # xsd:string (可选)
self.单位投资 = None # xsd:string (可选)
class ProjectBuilder:
# 存储注册的工具类
_registry = None
_config = {}
"""项目工具工厂类"""
def __init__(self):
pass
@classmethod
def register(toolkit_class: type, config: dict):
"""
注册工具类到工厂
参数:
toolkit_class: 继承自ProjectToolkit的具体工具类
"""
if not issubclass(toolkit_class, ProjectToolkit):
raise TypeError(f"{toolkit_class.__name__} 必须继承自 ProjectToolkit")
_config = config
_registry = toolkit_class
def build(self) -> ProjectToolkit:
"""
创建工具实例
参数:
返回:
实例化的工具对象
"""
if _registry is None:
raise KeyError(f"未注册的类,请先注册类")
return _registry(_config)