Django:鸡肉或鸡蛋问题

时间:2010-01-16 08:19:04

标签: python django design-patterns application-design

我正在构建一个应用程序,它将在APIRecord(models.Model)类中处理信息后发送API调用并保存结果信息。

1)我应该以这样的方式构建一个单独的类,使得该类执行API调用,处理信息(包括检查业务规则),然后创建我的{{1的实例class?

或者

2)我是否应该使用适当的方法构建一个单独的类进行处理,并调用API,然后在我的模型中覆盖APIRecord()方法以调用单独的类的API方法然后保存结果?

或者

3)我是否应该使用适当的方法构建模型类来调用API并处理响应(包括检查某些值和其他业务规则)?

我尝试了#2并遇到了灵活性问题(但我仍然愿意接受建议)。我倾向于#1,但我不确定所有的负面因素呢?

1 个答案:

答案 0 :(得分:1)

这是设计决定。 这取决于您的设计和编程兴趣。 我使用了你说的三种方法的组合。如果我需要一些可以从其他领域构建的信息,那么我将在模型类中创建一个内部函数。如果我需要其他数据库记录来做某事我会在模型类之外创建一个函数。在我需要的任何地方都会计算出其他不寻常的需求。