refactor : BaseFactory 基类类型自动推导 + 移除冗余代码

- _validate_component 从 BaseFactory[T] 泛型参数自动解析基类类型,9 个子类覆写移除
- Registry 类内联到 BaseFactory._entries,移除未用的 list_by_category/list_by_priority
- _component_base 在 __init_subclass__ 时立即解析
- 数据集 4 个子类冗余 __init__ 移除
This commit is contained in:
2026-06-06 21:23:41 +08:00
parent 9e31d4ef2b
commit e7b18b7c03
11 changed files with 78 additions and 219 deletions
+1 -6
View File
@@ -209,12 +209,7 @@ class BaseMaskBuilder(ABC):
class MaskBuilderFactory(BaseFactory["BaseMaskBuilder"]):
@classmethod
def _validate_component(cls, component_cls: type):
if not issubclass(component_cls, BaseMaskBuilder):
raise TypeError(
f"{component_cls.__name__} must inherit from BaseMaskBuilder"
)
pass
@MaskBuilderFactory.register("sectioned")
+1 -6
View File
@@ -33,12 +33,7 @@ class PackingStrategy(ABC):
class PackingStrategyFactory(BaseFactory["PackingStrategy"]):
@classmethod
def _validate_component(cls, component_cls: type):
if not issubclass(component_cls, PackingStrategy):
raise TypeError(
f"{component_cls.__name__} must inherit from PackingStrategy"
)
pass
@PackingStrategyFactory.register("simple")
+1 -6
View File
@@ -20,12 +20,7 @@ class PositionIdStrategy(ABC):
class PositionIdStrategyFactory(BaseFactory["PositionIdStrategy"]):
@classmethod
def _validate_component(cls, component_cls: type):
if not issubclass(component_cls, PositionIdStrategy):
raise TypeError(
f"{component_cls.__name__} must inherit from PositionIdStrategy"
)
pass
@PositionIdStrategyFactory.register("none")
+1 -4
View File
@@ -30,10 +30,7 @@ class StoreWriter(ABC):
class StoreWriterFactory(BaseFactory["StoreWriter"]):
@classmethod
def _validate_component(cls, component_cls: type):
if not issubclass(component_cls, StoreWriter):
raise TypeError(f"{component_cls.__name__} must inherit from StoreWriter")
pass
@StoreWriterFactory.register("bin")