2

我目前有三个记录错误的库。一种用于 Django,一种用于 Pyramid,另一种用于纯 Python。他们目前都有单独的实现来做同样的事情,以特定的方式记录错误和消息。

我想将它们全部整合到一个库中,这样新功能就不必在三个独立的库中重复。用户只需要安装一个库,然后就可以选择是否需要 Django 或 Pyramid 支持。

一种解决方案是将 Django 和 Pyramid 代码粘贴到纯 Python 库中,并让两个 Web 框架共享相同的日志记录代码。另一种解决方案是将 Web 框架保存在单独的库中,但去掉日志实现,并放入普通的 Python 库中,使其成为依赖项。

这样做的推荐方法是什么?有更好的解决方案吗?

4

1 回答 1

0

将所有库中通用(并且可以通用)的所有代码分解出来。然后,如果需要,创建特定于每个框架的子模块,这些子模块与它们的各种特性和习惯用法相关联。

看看乌鸦。他们正是这样做的(而且他们也是一个日志发送库!)

于 2013-09-27T01:46:01.313 回答