【发布时间】:2020-11-05 15:15:30
【问题描述】:
例如,假设我正在使用 Django Rest Framework 构建一个 Rest API。现在作为应用程序的一部分,一些方法在所有视图中都是通用的。我的做法是在根目录下,我创建了一个 services.py 文件。在该模块内部,是一个包含所有常用实用程序方法的类 (CommonUtils)。在同一个 services.py 模块中,我实例化了一个 CommonUtils 对象。
现在在整个应用程序中,在不同的views.py 文件中,我从模块中导入对象并调用该对象的方法。所以,本质上我是使用单例对象来实现常用的实用方法。
我觉得这不是一个好的设计方法。因此,我想解释一下为什么这种方法不是一个好主意,以及实现相同目标的最佳实践或最佳方法是什么,即在所有 views.py 文件中使用一组通用实用程序方法。
提前致谢。
【问题讨论】:
-
这是一个非常主观的问题。我从事的每个项目最终都有一个
utils模块/包,因为所有事物都有共同的逻辑。但是,这些函数通常很小,并且其中没有业务逻辑。 -
您从使用该课程中获得了什么好处?
-
该类应该包含在整个 django 应用程序中使用的常用功能。例如。可能从某个地方提取样本数据,或者可能是一些用于解析数据的逻辑等。
标签: python django design-patterns