我正在为我正在创建的API创建一个错误管理器。这个想法是它提供了一个可从API返回的错误代码库,确保以相同的方式处理不同调用中的相同错误(例如,请求中缺少所需的值)。避免幻数而不创建依赖关系
我最初的做法是沿着线:
$this->_errorManager->setError(ErrorCodes::REQUIRED_FIELD);
然而,这造成的错误代码级的依赖的任何地方我想成立一个错误。
另一种方法是:
$this->_errorManager->setError(100);
但现在我已经得到了一些坐在我的代码中间没什么意思。
虽然我可以想到解决这个特定问题的方法,但我还是会想要使用'枚举'的其他情况,我想不出一种不会紧密结合类的解决方案。
有没有更好的方法来做到这一点,或者我可以采取不同的方法来消除幻数?或者,我只是接受和考虑个案的紧密耦合?
我不会真的叫这个“耦合”,因为'ErrorCodes'没有任何*行为*。这是一个很好的习惯,绝对不值得这个词的消极内涵。您可能想将其视为“一个逻辑实体实现为两个物理类”,而不是“两个逻辑实体耦合在一起”。 – Jon 2013-02-12 13:56:45