diff --git a/README.md b/README.md index 3155a1b..f112943 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # 基础模块现代化改进分支 -您正浏览潜进项目的基础模块现代化改进原型分支! \ No newline at end of file +您正浏览潜进项目的基础模块现代化改进原型分支! +[] - HeurAMK \ No newline at end of file diff --git a/src/heurams/kernel/algorithms/__init__.py b/src/heurams/kernel/algorithms/__init__.py index 9dcfccc..e69de29 100644 --- a/src/heurams/kernel/algorithms/__init__.py +++ b/src/heurams/kernel/algorithms/__init__.py @@ -1,33 +0,0 @@ -from typing import Dict, Any, Callable, TypedDict - -class AlgorithmConfig(TypedDict): - algo_name: str - defaults: Dict[str, Any] - revisor: Callable[[dict, int, bool], None] - -_algorithms: Dict[str, AlgorithmConfig] = {} - -def register_algorithm(algo_name: str, defaults: Dict[str, Any], revisor: Callable): - _algorithms[algo_name] = { - 'algo_name': algo_name, - 'defaults': defaults, - 'revisor': revisor - } - -def get_algorithm(algo_name: str) -> AlgorithmConfig: - if algo_name not in _algorithms: - raise ValueError(f"算法 {algo_name}' 未找到, 可用值: {list_algorithms()}") - return _algorithms[algo_name] - -def list_algorithms() -> list[str]: - return list(_algorithms.keys()) - -# 导入注册 -from . import sm2 -register_algorithm( - algo_name=sm2.algo_name, - defaults=sm2.defaults, - revisor=sm2.revisor -) - -__all__ = ['get_algorithm', 'list_algorithms', 'register_algorithm', 'AlgorithmConfig'] \ No newline at end of file diff --git a/src/heurams/kernel/puzzles/base.py b/src/heurams/kernel/puzzles/base.py index f5b8a38..a491fbd 100644 --- a/src/heurams/kernel/puzzles/base.py +++ b/src/heurams/kernel/puzzles/base.py @@ -3,16 +3,7 @@ class BasePuzzle: """谜题基类""" def refresh(self): - """刷新谜题, 子类必须实现""" - raise NotImplementedError("谜题对象没有实现 refresh 方法") + raise NotImplementedError("谜题对象未实现 refresh 方法") def __str__(self): - """字符串表示, 子类应该实现""" - return f"谜题: {type(self).__name__}" - - @classmethod - def register(cls, name: str = None): # type: ignore - """谜题注册装饰器""" - from registry import registry - puzzle_name = name or cls.__name__ - return registry.register(puzzle_name, cls) \ No newline at end of file + return f"谜题: {type(self).__name__}" \ No newline at end of file diff --git a/src/heurams/kernel/puzzles/mcq.py b/src/heurams/kernel/puzzles/mcq.py index 90bb0c6..d190a5d 100644 --- a/src/heurams/kernel/puzzles/mcq.py +++ b/src/heurams/kernel/puzzles/mcq.py @@ -2,7 +2,6 @@ from base import BasePuzzle import random -@BasePuzzle.register("multiple_choice") class MCQPuzzle(BasePuzzle): """选择题谜题生成器""" diff --git a/src/heurams/kernel/puzzles/registry.py b/src/heurams/kernel/puzzles/registry.py deleted file mode 100644 index 08b7620..0000000 --- a/src/heurams/kernel/puzzles/registry.py +++ /dev/null @@ -1,31 +0,0 @@ -# registry.py -from typing import Dict, Type, Any -from base import BasePuzzle - -class PuzzleRegistry: - """谜题注册表""" - - def __init__(self): - self._puzzles: Dict[str, Type[BasePuzzle]] = {} - - def register(self, name: str, puzzle_class: Type[BasePuzzle]): - """注册谜题类""" - self._puzzles[name] = puzzle_class - return puzzle_class - - def create(self, name: str, **kwargs) -> BasePuzzle: - """创建谜题实例""" - if name not in self._puzzles: - raise ValueError(f"未知的谜题类型: {name}") - return self._puzzles[name](**kwargs) - - def list_available(self) -> list: - """获取可用的谜题类型列表""" - return list(self._puzzles.keys()) - - def get_class(self, name: str) -> Type[BasePuzzle]: - """获取谜题类""" - return self._puzzles.get(name) # type: ignore - -# 全局注册表实例 -registry = PuzzleRegistry() \ No newline at end of file