边界

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

外来代码的问题

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

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

封装

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

适配器

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

学习性测试

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这一章书中全是理论性的东西,再加上中文翻译肯定有词不达意的地方(并未有意冒犯译者,sry),初读起来并没有理解,遂...
    大数据Zone阅读 1,430评论 0 0
  • 代码整洁之道笔记 [TOC] 边界 即自己的代码和第三方的代码的接口适配 使用第三方代码 ①封装 接口提供者和使用...
    茕茕踽踽阅读 3,379评论 0 1
  • 注:正文中的引用是直接引用作者的话,两条横线中间的段落的是我自己的观点,其他大约都可以算是笔记了。 在一个完整的系...
    TheAlchemist阅读 6,609评论 3 4
  • 8.1 使用第三方代码 我们的代码经常需要调用一些第三方API,这里就形成了边界。我们在边界这边,而边界那边就是第...
    itliyunlong阅读 2,732评论 0 0
  • 1.使用第三方代码 接口提供者和接口调用者会在系统边界上出现问题。例如,Map中要求只保存特定的类型,那可以考虑使...
    小刘and12345阅读 1,950评论 0 0