边界

开发过程中,我们经常会用到第三方包,开放源码或者二方包,不管是哪种情况,我们都得将外来代码干净利落地整合进自己的代码中。

外来代码的问题

1、在接口提供者和使用者之间,存在与生倶来的张力。第三方程序包和框架提供者追求普适性,这样就能在多个环境中工作,吸引广泛的用户。而使用者则想要集中满足特定需求的接口。也就是说,接口的提供者会提供广泛,普适性的接口,而使用者需要隐藏一部分接口,改造另一部分接口。

2、接口提供者可能会更新接口,使用者需要确保未来的修改不至于代价太大。

封装

我们可以使用一个自定义的类来封装边界接口,隐藏掉不分不需要的接口并根据需求重写一部分接口,并且将自定义类(代替边界接口)作为参数和返回值在函数之间传递,一方面对边界接口进行隐藏改造,另一方面伴随边界接口升级,后序代码改造成本低。

适配器

对于我们需要使用到但还未被定义开发的接口,我们可以先自定义我们希望得到的接口,并且针对该接口进行编程,当需要的接口编写好之后,我们在用适配器模式去适配。

学习性测试

使用第三方API之前,我们应该编写测试用例,一方面可以学习理解接口,另一方面可以保证接口按照我们认为的方式运行。    

你可能感兴趣的:(边界)