<分区>
现在我的项目中有大量常量字符串和枚举。从一开始我就使用以下方法(伪 php 示例代码):
class Constants implements iStatuses, iEmailTypes {
}
interface iStatuses {
const STATUS_NEW = 1;
cosnt STATUS_UPDATED =2;
...
}
interface iEmailTypes {
const EMAIL_TYPE_NEW = 1;
const EMAIL_TYPE_UPDATED =2;
...
}
由于我在 index.php 中包含了“Constants”类,因此这种方法允许我在代码的任何位置以下列方式获取我的常量。
$this->sendEmailByType(CONSTANTS::EMAIL_TYPE_NEW);
但是,我完全可以看到这种方法的缺点:
- 常量类包含大量枚举和常量,很难获得正确的常量。命名约定有助于解决它,但我不喜欢这样,因为它需要额外的思考来确定我需要什么常量
- 常量类太大太乱
- 我需要跟踪所有由 Cosntants 类实现的接口(interface)。
由于我的项目现在变得越来越大,我们需要将它与另一个项目的代码合并,因此需要更改类常量方法。但是,我有太多基于该类的依赖项。我应该如何重构该方法,以免破坏使用常量类值的旧代码。
请分享您的想法和建议,如何改进我的“常量”方法,或者确认它相当不错并且我应该支持它。
提前谢谢你。