我正在处理一个项目,我必须在几个方面实现一个相当复杂的数据结构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_A
和P_B
。
这是一种不好的做法吗?在这种情况下,实现的最佳命名约定是什么?
答案 0 :(得分:1)
你可能应该在实现它们的某些特定方面之后命名它们。
举例说明列表类型容器的几个典型实现:
您可以根据具体实施方式对其进行命名。