未提供项目说明
clean-architecture的Python项目详细描述
干净的建筑
这个项目被描述为一个由robertc.Martine编写的干净的体系结构。 建筑是同一个
目录
目录结构
|-- clean_architecture ||-- domain |||-request_object.py |||-response_object.py ||`-use_case.py ||-- entity ||`-entity.py ||-- exception |||-exception.py ||`- *_exception.py ||-- serializer |`-serializer.py
安装
^{pr2}$示例
- 实体
fromclean_architecture.entityimportEntityclassUserEntity(Entity):def__init__(self,user_id,name,created_at,updated_at):self.id=user_idself.name=nameself.created_at=created_atself.updated_at=updated_at@classmethoddeffrom_dict(cls,adict):user=UserEntity(user_id=adict.get("id"),name=adict.get("name"),created_at=adict.get("created_at"),updated_at=adict.get("updated_at"))returnuser
- 在
域
- 有效要求对象
fromclean_architecture.domainimport(ValidRequestObject,InvalidRequestObject,UseCase,ResponseSuccess)classCreateUserRequestObject(ValidRequestObject):def__init__(self,user):self.user=userifinvalid_req.has_errors():returninvalid_reqreturnCreateUserRequestObject(user=UserEntity.from_dict(adict))
- 用例
classCreatedUser(UseCase):def__init__(self,user_repository):self.user_repository=user_repositorydefprocess_request(self,request_object):user=self.user_repository.create(user=request_object.user)returnResponseSuccess(201,user)
在 - 在
序列化程序
在
fromschemaimportSchemafromclean_architecture.serializerimportSerializerclassCreateUserEncoder(Serializer):schema=Schema({"name":str},ignore_extra_keys=True)
测试
$ pytest
- 项目
标签: