用途:该技能面向清晰架构与领域驱动设计,帮助在项目中创建仓储类,把数据访问逻辑与业务逻辑分离。资料显示其目录上下文为 epistemix_platform/src/epistemix_platform/,仓储位于 repositories/ 目录。
主要能力:接口优先设计,先定义基于 Protocol 的接口并用 @runtime_checkable 支持运行时校验;仓储方法只接受和返回业务/领域模型,不暴露 ORM 模型;通过 mappers/ 目录中的映射器在业务模型与 ORM 模型之间双向转换;提供 CRUD、批量与查询方法模式,并支持分页、过滤、排序、缓存及异步 I/O 等考虑。
使用方式:命名上接口为 I<Entity>Repository,具体实现为 <Technology><Entity>Repository,映射器为 <Entity>Mapper 或 <Entity>ORMMapper。方法包括 create()、get()、get_by_id()、update()、delete()、create_many()、get_all()、update_many()、find_by_<attribute>()、search()、filter() 等。错误处理上,无效输入或业务规则违反抛 ValueError,实体不存在抛 NotFoundError,并在文档字符串中说明异常。
适用场景:需要清晰架构分层、ORM 抽象、可测试与可模拟数据访问的项目,尤其是使用 SQLAlchemy、MongoDB、S3、Azure Blob 等存储技术时。
限制:资料未提供安装命令、收费信息、平台支持或具体使用步骤;示例代码仅作模式参考,实际实现需结合项目环境。