first code

This commit is contained in:
Coldin04 2025-08-13 18:49:19 +08:00
commit b18805aa26
11 changed files with 612 additions and 0 deletions

30
handlers/registry.py Normal file
View file

@ -0,0 +1,30 @@
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())