okhttp3中的设计模式_okhttp 设计模式-程序员宅基地

技术标签: android  

okhttp库的火热程度,相信不需要我多作说明了,网上关于该库的使用和源码分析的文章有如恒河沙数。我就不在这方面凑热闹了,本文从设计模式的角度来谈谈okhttp中都能找到哪些模式。本文所示okhttp版本为3.11.0。

Builder
这个应该是很明显的了。OkHttpClientRequestResponseMultipartBodyHttpUrl等等随处可见,还如下面表示定义在RFC 6265中的cookie的类:

public final class Cookie {
  ...
  public static final class Builder {
    ...
  }
}

本来HTTP是无状态的,但是通过cookie机制,可以让HTTP有状态,比如保持用户登录状态信息。遗憾的是,许多服务器实现并没有使用cookie来保存用户登录状态,而是使用其它一些自定义的请求头。

Factory Method
如果简单工厂也算设计模式的话,在okhttp中倒是有很多。不过工厂方法却用的不多。下面是其中2个:

public interface Call extends Cloneable {
  ...
  interface Factory {  
    Call newCall(Request request);  
  }
}

public interface WebSocket {
  ...
  interface Factory {  
    WebSocket newWebSocket(
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_23012315/article/details/82492165

智能推荐

Gemini测评-程序员宅基地

文章浏览阅读458次,点赞10次,收藏7次。具体来说,他们在 MMLU 上测试了模型回答基于知识的问题的能力,在 BigBenchHard 上测试了模型的推理能力,在 GSM8K 等数据集中测试了模型解答数学问题的能力,在 FLORES 等数据集中测试了模型的翻译能力;而 GPT 模型,特别是 GPT 4 Turbo,即使在非常长的问题中, GPT 4 Turbo 的退步也非常小。在多站点任务上,Gemini-Pro 的表现优于 GPT-3.5-Turbo,这与之前的结果一致,即 Gemini 在各种基准的更复杂子任务上表现更好一些。whaosoft

移动全平台性能测试工具PerfDog常见问题与解决方案_荣耀100链接不上perfdog-程序员宅基地

文章浏览阅读3.8k次。重要说明Q&A:1、 PerfDog无法检测到手机?Android平台: 请开启Debug调试模式(华为设备,需要先开启开发者选项中的 "仅充电"模式下允许ADB调试选项 ,再开启usb调试)。 以上还不行,请重新打开PerfDog软件及重启手机。 以上还不行,请确认PC上ADB可能被独占(自动化测试框架、Android Studio工具等),请关闭工具及ADB.exe。 以上还不行,请用手机管家或手机助手检测下。特殊机型:https://bbs.perf_荣耀100链接不上perfdog

springMVC中文乱码_spring jdbc中文乱码-程序员宅基地

文章浏览阅读111次。一、页面编码<%@ page contentType="text/html;charset=UTF-8" language="java" %><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> 二、URL中的乱码  改tomcat中server.xml中Connector_spring jdbc中文乱码

2021-06-09 Linux INIT_DELAYED_WORK schedule_work 延时队列使用学习-程序员宅基地

文章浏览阅读3.9k次,点赞5次,收藏13次。https://blog.csdn.net/qq_31339221/article/details/105057978https://blog.csdn.net/qq_31339221/article/details/105057978_init_delayed_work

linux设置双屏拼接_双屏、3屏拼接——A卡、N卡——Windows、Linux-程序员宅基地

文章浏览阅读2k次。“折腾是一种生活态度”。买了个显卡,在公司折腾了下双屏和3屏,记录一下。3个20英寸的显示器,分辨率都是1600x900。普通双屏:1个屏幕有任务栏,另一个没有任务栏,分辨率单独设置,壁纸重复显示一张,分辨率都是1600x900。双屏水平拼接:通过显卡驱动设置,操作系统检测到1个显示器,分辨率为3200x900,1个超长任务栏横跨2个屏幕,1个超长壁纸横跨2个屏幕。3屏水平拼接:分辨率为4800x..._横屏双屏壁纸拼接

反射之getDeclaredMethod和getMethod的区别以及一些小技巧_反射getdeclaredmethod-程序员宅基地

文章浏览阅读6.8k次,点赞2次,收藏8次。区别getDeclaredMethod:获取当前类的所有声明的方法,包括public、protected和private修饰的方法。需要注意的是,这些方法一定是在当前类中声明的,从父类中继承的不算,实现接口的方法由于有声明所以包括在内。getMethod:获取当前类和父类的所有public的方法。这里的父类,指的是继承层次中的所有父类。比如说,A继承B,B继承C,那么B和C都属于A的父类。..._反射getdeclaredmethod

随便推点

开发ROS机器人的自动驾驶功能-程序员宅基地

文章浏览阅读302次,点赞7次,收藏10次。1.背景介绍自动驾驶技术是近年来迅速发展的一领域,它涉及到计算机视觉、机器学习、人工智能等多个领域的技术。在这篇文章中,我们将讨论如何使用Robot Operating System(ROS)开发机器人的自动驾驶功能。自动驾驶技术的目标是让机器人无人干预地完成驾驶任务,提高交通安全和效率。ROS是一个开源的软件框架,用于开发和控制机器人系统。它提供了一系列的库和工具,使得开发者可以轻松地构...

《Nature》发布毫米级软体机器人,可在没有任何物理干预情况下游走于人体-程序员宅基地

文章浏览阅读1.3k次。转载自公众号:机器人大讲堂概要:一直以来,微型机器人、软体机器人成为科学研究的热点,我们都期盼机器人能听从指挥的到达人体指定位置,在对人体危害最小的情况下递送药物或者切除病变组织。1966年著名作家艾萨克·阿西莫夫出版了一部著名的科幻小说《梦幻旅行》,讲述了通过科学手段把人缩小到了细胞大小,在人体内经历了梦幻般的冒险。这部小说启发了很多科学家,虽然我们很难把真人缩小到细胞大小,但制作一个微型机器人_nature的机器人

Git 生成SSH Key_git publikey生成-程序员宅基地

文章浏览阅读1.8w次。通过命令:$ ssh-keygen -t rsa -C "[email protected]" 然后回车 3,打开 Github-settings-SSH and GPG keys4,点击App Key5,创建仓库 在Repository name填入testgit,其他保持默认设置,点击“Create repository”按钮,..._git publikey生成

itextpdf生成pdf中文乱码 (乱码中挣扎的自述)_acrofields form = stamper.getacrofields();-程序员宅基地

文章浏览阅读1.4w次,点赞6次,收藏8次。生成pdf文件的方法有很多,网上也有很多的介绍,本文主要主要是讲生成pdf乱码的问题,而且还十分诡异,具体生成pdf的步骤同学们可以自己百度,也可以参考如下链接:https://www.cnblogs.com/LUA123/p/5108007.html 最开始我也是参考这篇文章来制作pdf的,但是坑爹的步骤开始了,一开始就是中文不显示的问题,然后我就想到了是不是字体什么的不支持的问题,..._acrofields form = stamper.getacrofields();

J.U.C之AQS源码解读以及ReentrantLock源码解读_reentrantlock 源码-程序员宅基地

文章浏览阅读1k次。文章目录前言AQS重要变量unsafeReentrantLocklock方法加锁原理公平锁非公平锁公平锁跟非公平锁的代码区别参考博客前言像我大佬烟说过:面试的时候颜值可以提高分数,没有颜值的话就需要会点J.U.C。人丑就要多读书,没错说的就是我。AQS是AbstractQueuedSynchronizer缩写,作者是@author Doug Lea并发大神,致敬一哈。J.U.C很多东..._reentrantlock 源码

测序总结,高通量测序名词-程序员宅基地

文章浏览阅读573次。主要来自 :http://mp.weixin.qq.com/s/iTnsYajtHsbieGILGpUYgQ测序的黄金标准:一代测序了,故称之为黄金测序。高通量测序最近这几年很火越来越火,但是世界上更多的还是一帮天天做分子克隆、养细胞、养细菌、杂蛋白的生物学家,究其原因Sanger测序还是测序届的金标准,由于精确度高于2、3代测序且保持大白菜价格使之地位稳固。应用范围:De Novo测..._一个unigene在可以被注释到几个通路中吗

推荐文章

热门文章

相关标签