2010-11-18 71 views
0

最好的办法是调用org.apache.commons.validator.EmailValidator来验证整个系统中的电子邮件,或者将该调用包装在系统特定的类中StringUtil并在整个系统中使用StringUtil验证电子邮件.validateEmail依赖于整个系统中的第三方库

THX

回答

0

简短的回答是,其包装是最好的,我当然做到这一点,在过去,不后悔;然而,没有硬性规定说你不能 - 只有你需要小心。

它取决于很多因素,最明显的是:这会带来什么(附加)依赖关系。

这是一个非常重要的解决方案的“路线图”的好主意,正如考虑你的解决方案的背景(你正在瞄准的市场 - 即使它是一个内部工具),等等。

危险#1:Org.Apache.Commons添加了其他您不想/很难管理的依赖关系等。我没有Org.Apache.Commons的第一手知识,所以我很抱歉我无法帮助具体。

危险#2:Org.Apache.Commons的变化比你更频繁。如果您对Apahce如何以及何时发布内容感到满意,那么我认为您没有问题,但是如果您在一个想要稳定的Senario中 - 并且直接引用第三方是“不好的”,那么我认为答案应该很明显。这一切都涉及到Reuse Release Equivalence Principle

如果您的解决方案以某种方式战略性地耦合到Org.Apache.Commons(就像FireFox加载项绑定到FireFox(至少我假设它是这样)),那么为什么不接受它的价值呢?另一方面,如果你没有(战略上)耦合到它,那么应该避免引入紧耦合。

相关问题