可序列化模型/工厂模式的python包
objectfactor的Python项目详细描述
py对象工厂
object factory是一个python包,可以轻松实现用于对象创建和序列化的工厂设计模式
- 类定义中固有的序列化模式
- 用于加载任意类型的多个对象的一致接口
- 将对象序列化为人类可读的json格式
示例
简单的形状示例:
importobjectfactory@objectfactory.Factory.register_classclassSquare(objectfactory.Serializable):side=objectfactory.Field()defget_area(self):returnself.side*self.side@objectfactory.Factory.register_classclassTriangle(objectfactory.Serializable):base=objectfactory.Field()height=objectfactory.Field()defget_area(self):return0.5*self.base*self.heightserialized_data=[{"_type":"Square","side":2.0},{"_type":"Triangle","base":1.75,"height":2.50},{"_type":"Square","side":1.5},]fordatainserialized_data:shape=objectfactory.Factory.create_object(data)print('class type: {}, shape area: {}'.format(type(shape),shape.get_area()))
输出:
class type: <class '__main__.Square'>, shape area: 4.0
class type: <class '__main__.Triangle'>, shape area: 2.1875
class type: <class '__main__.Square'>, shape area: 2.25
查看更多示例here
安装
使用pip进行安装
pip install objectfactory