Possible Duplicate:
Should you wrap 3rd party libraries that you adopt into your project?
我正在使用mail.jar,一个开源API来用java发送邮件。
我想知道是否应该将其调用包装到我自己的框架中,如下所示:
DedicatedFramework.sendMail(subject, body, recipientList);
然后,这个专用框架将对 mail.jar 进行必要的调用。
这个想法是,如果明天我用一个不赞成/更改方法的新版本替换 mail.jar,那么我就会减少耦合。
另一方面,我添加锅炉代码只是为了“隐藏”框架。
你们对此做了什么?
当然,它可以是除邮件之外的其他框架:图片管理、jdbcTemplate、GoogleCollections ...
最佳答案
没有。
您知道明天必须使用不同的邮件库吗?有可能吗?我对此表示怀疑。仅仅为了“也许有一天”而进行的包装是最糟糕的 YAGNI。
另一方面,如果您的 sendMail()
方法执行的操作在您发送邮件时会重复执行,那么它就不是包装器,而是一个有用的抽象。
关于java - 包装还是不包装开源框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8592556/