from typing import Dict,List from .base_handler import BaseHandler from .crypto_handler import CryptoHandler from services.crypto_service import CryptoService class HandlerRegistry: """处理器注册中心""" def __init__(self): self.handlers: Dict[str, BaseHandler] = {} self._register_default_handlers() def _register_default_handlers(self): """注册默认处理器""" # 注册加密货币处理器 crypto_service = CryptoService() crypto_handler = CryptoHandler(crypto_service) self.register_handler(crypto_handler) def register_handler(self, handler: BaseHandler): """注册处理器""" self.handlers[handler.get_handler_name()] = handler def get_handler(self, handler_name: str) -> BaseHandler: """获取处理器""" return self.handlers.get(handler_name) def list_handlers(self) -> List[str]: """列出所有可用的处理器""" return list(self.handlers.keys())