0

我已经在 python 中为某些特定类型的任务编写了一个通用框架。它是一个服务于不同请求和操作的网络服务器。这个框架可以被许多项目使用,每个项目都有一组不同的验证规则。现在,我只是为每个项目更新我的脚本。

我正在考虑将这个验证部分外部化,我该怎么做?验证不仅仅是字段内容验证;我正在考虑有一个配置文件来映射类似的incoming request <-> validationModule东西/site1/a/b.xml=validateSite1.py,如果请求是针对site1. 因此,我将为每个站点提供通用框架脚本 + 单独的脚本。

有没有更清洁的方法来做到这一点?

4

1 回答 1

1

我认为最好使用 Python 本身作为从 URL 路径到验证模块的顶级映射。配置可能如下所示:

import site1
import site2
def dispatch(uri):
    if uri.startswith('/site1/'):
        return site1.validate(uri)
    elif uri.startswith('/site2/):
        return site2.validate(uri)

这个简单的示例可能会诱使您将其“抽象”成一个更“通用的框架”,将字符串转换为文件名以用作验证脚本。以下是执行上述操作的一些优点:

  1. 性能:站点模块只导入一次,我们不会根据请求查找文件名。
  2. 灵活性:如果您稍后决定调度逻辑更复杂,您可以轻松使用任意 Python 代码来处理它。永远不需要扩展您的映射系统本身——只有需要更复杂的配置文件。
  3. 单一语言。
于 2013-07-23T14:37:57.587 回答