Mic*_*ael 13 python django model
所以我已经完成了我的OO分析和我正在构建的Web应用程序的设计,现在我正在实施.已经做出设计决策来使用Python和Web开发框架Django来实现系统.
我想开始实现一些需要持久性的域实体类.似乎Django会让我实现这些作为继承自Django模型类的类,以便使用Django ORM进行持久化.但是,这似乎是我的类实体和持久性机制之间过于强烈的耦合.如果在某个阶段我想抛弃Django并使用另一个Web开发框架,或者只是放弃Django的ORM替代方案,会发生什么?现在我必须从头开始重新编写我的域实体类.
因此,最好将我的域类实现为独立的Python类,将所有业务逻辑封装在这些类中,然后使用某种机制(设计模式,如bridge或adapter或???)将这些域类的持久存储委托给Django ORM,例如通过适当设置的Django模型类.
有没有人建议如何做到这一点?从我读过的所有内容看来,人们只是将它们的域类实现为从Django模型类继承的类,并在这个类中混合了业务逻辑.这对于下线更改,维护,可重用性等似乎不太好.
嗯,使用 Django 的方法是继承 Django 的基本模型类。这就是“活动记录”模式。您的 django 模型将具有所有 CRUD 和查询方法以及您的业务逻辑(当然如果您决定添加它)。这在 Java 世界中被视为一种反模式,但它最酷的一点是它可以非常非常快地加快开发速度。
归档时间: |
|
查看次数: |
2206 次 |
最近记录: |