具有多个实现的最佳类命名约定

时间:2014-06-27 09:41:38

标签: python oop naming-conventions factory-pattern

我正在处理一个项目,我必须在几个方面实现一个相当复杂的数据结构P(所有这些都在python中)。希望它可以提供一些帮助,这就是我构建项目的一部分的方式:

+ P/
|----+ A/
|    |----p.py
|
|----+ B/
|    |----p.py
|
|----factory.py
|----abstractP.py

p.py中我将P的不同实现作为类。它们都被命名为P(它们都符合接口,因为它们继承自扩展abstractP的类ABCMeta

我打算使用工厂模式通过指定参数来正确实例化类P的对象。目前,在factory.py我通过使用python导入技巧来避免名称冲突:

from P.A.p import P as P_A
from P.B.p import P as P_B

我这样做是因为我可以在下一个项目中独立使用p.py个文件,所以我从一开始就没有命名类P_AP_B

这是一种不好的做法吗?在这种情况下,实现的最佳命名约定是什么?

1 个答案:

答案 0 :(得分:1)

你可能应该在实现它们的某些特定方面之后命名它们。

举例说明列表类型容器的几个典型实现:

  • 抽象类List(定义“list”的基本接口/行为)
  • class LinkedList(该行为的链接节点实现)
  • class ArrayList(基于数组的行为实现)

您可以根据具体实施方式对其进行命名。