一个用于python对象的通用声明性语法工具包,它使用自身来定义自身。真的?

marrow.schema的Python项目详细描述


<H2>1。什么是骨髓模式?

marwschema是一个小型的、经过充分测试的、3.3+兼容的声明性语法工具包。这基本上意味着你用 高级对象定义其他高级对象数据结构。简言之:你永远不用写一门课 只重新分配实例变量的构造函数。

使用示例包括:

  • 带有预定义"插槽"的属性访问字典。
  • 用于数据库访问的ORM或ODM的对象映射器方面。一个例子是 marw mongo
  • 声明性模式驱动的序列化系统。
  • marw接口 ,任意python的声明性模式验证 对象的目的类似于zope.interface或python自己的抽象基类。
  • 骨髓小部件 是以声明方式定义的,允许更灵活的方式 以及合作子类化。
  • 使用包含的框架进行强大的数据验证和转换。

1.1目标

创建骨髓模式的目的是提取几乎所有数据库orm、odm、widget都通用的组件。 将系统、表单验证库、结构化序列化格式或其他基于架构的工具转换为公共共享 图书馆让所有人受益。虽然一些基本原则(数据描述符等)相对简单,但很少 实现是真正完整的。通常,您将无法访问标准的python习惯用法,例如 带有类构造函数或pythonic异常的位置参数。

通过一个经过验证的通用实现,我们很快发现这种可能性并不局限于典型的用途。 一个使用骨髓模式的商业项目这样做是为了以声明的方式定义通用crud 控制器 缩短开发时间并鼓励WORM(一次写入,多次读取)最佳实践。

骨髓模式的另一个目的是有一个非常狭窄的范围和"吃自己的狗粮",使用一个声明性的语法。 定义声明性语法。这与其他选择(如 利用多个元类和魔法属性的hodge podge 在内部。或者 guts ,这与它的xml和yaml数据处理紧密相关 能力。它们都不支持位置实例化,并且都可以作为 骨髓模式的轻量级超集。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java具有数量可变的参数,可以同时加载数量可变的图像   java应用程序在后台运行数小时后,当对象变量被系统破坏时,如何在应用程序类中保存对象变量   Java使用不带名称空间的XSD验证XML   关于在Play 2.2.1上安装死锁的java问题   字符串中的java字符串分隔符。分裂法   菜单中的java项不显示操作栏,而是在三个点中显示,没有任何图标   以int值作为键的java HashMap   java OpenAPIgeneratorEventPlugin身份验证查询参数未发送   java如何使用用户输入停止程序   java XIMA Formcycle图像预览问题   java Android登录MainActivity中的google   java Spring JPA@Query JPQL因“意外标记:日期”而失败   java如何将JTextField中的数据保存到mysql数据库中?   java jMonkeyEngine是否在网格内应用材质?   java传感器。键入旋转向量没有值?   java是一个从随机数序列中求值的简单算法吗?   java安卓8。x通知:当我的应用打开时,如何避免通过我的应用淡入/淡出通知?   java tomcat无法启动:严重:启动静态资源时出错   带有自定义列表的java Json操作警告