first code
This commit is contained in:
commit
b18805aa26
11 changed files with 612 additions and 0 deletions
30
handlers/registry.py
Normal file
30
handlers/registry.py
Normal 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())
|
||||
Loading…
Add table
Add a link
Reference in a new issue