接口

设计模式之UML类图的常见关系

a 夏天 提交于 2020-04-04 17:23:53
设计模式之 UML 类图的常见关系 本文来自转载 烧点饭博客 本篇会讲解在 UML 类图中,常见几种关系 : 泛化( Generalization ),依赖 (Dependency) ,关联( Association) ,聚合( Aggregation ),组合 (Composition) 。 1. 泛化关系 泛化关系是继承或实现的关系,是 is a 关系,具体表现为类与类的继承,接口与接口的继承,类对接口的实现关系。 2. 依赖关系 依赖关系表示为一个类使用另一个类,这种使用关系是具有偶然性的、临时性的、非常弱的,一个类的变化会影响到另一个类,是 use a 关系,如果类 A 依赖于类 B, 那么类 B 可以是类 A 的局部变量,或类 A 方法的参数,或静态方法的调用。 3. 关联关系 关联关系是一种强依赖关系,这种关系不存在依赖关系的偶然性,关系也不是临时的,是长期的,稳定的。双方的关系是平等的,可以单向关联也可以是双向关联。假如类 A 关联了类 B, 则类 B 是类 A 的全局变量(注意是全局变量,再看看上面的依赖关系),大多数关联都是单向关联,这比较容易维护,关于关联,在生活中我们常会说,类 A 持有类 B 的引用。 4. 聚合关系 聚合关系是特殊的关联关系,是一种强的关联关系,他体现的是整体与部分关系,即 has-a 的关系,但是整体和部分是可以分离的,注意,是可以分离的

[5分钟]菜鸟修研之设计模式:六大设计原则

浪尽此生 提交于 2020-04-04 14:10:22
[5分钟]菜鸟修研之设计模式:六大设计原则 目录 [5分钟]菜鸟修研之设计模式:六大设计原则 单一职责原则 接口隔离原则 开闭原则 里氏替换原则 依赖倒置原则 迪米特法则 笔者作为一个菜鸟,会尝试以简单的代码和容易理解的语句去解释这几种原则的特性和应用场景。 这六种原则分别为单一职责原则、接口隔离原则、里氏替换原则、迪米特法则、依赖倒置原则、开闭原则。 单一职责原则 单一职责原则(SRP:Single responsibility principle),规定一个类中应该只有一个原因引起类的变化。 单一职责原则的核心就是 解耦和增强内聚性 。 问题: // 假设此类是数据库上下文 public class DatabaseContext { } public class Test { private readonly DatabaseContext _context; public Test(DatabaseContext context) { _context = context; } // 用户登录 public void UserLogin() { } // 用户注销 public void UserLogout() { } // 新增一个用户 public void AddUser() { } // 修改一个用户的信息 public void UpdateUser() { }

接口测试03-jmeter实操

馋奶兔 提交于 2020-04-04 13:10:22
get、post请求方式在jmeter中使用步骤 一、jmeter工具测试接口时使用步骤: 1、测试计划右键--添加--Threads(Users)--线程组(线程数就是并发数) 2、线程组右键--Sampler--HTTP请求--填写域名或IP、端口默认80,选择请求方式get,输入接口url域名后面的路径以及?后面的参数及值,最上面的请求名称可以进行修改--点击上面的运行按钮去查看。 3、查看:右键线程组--添加--监听器--察看结果树--点击上面的运行按钮,查看返回值 4、响应断言: 右键线程组--添加--断言---响应断言 5、断言结果:右键线程组--添加-----监听器----断言结果 6、添加cookie 说明:避过登录,直接请求接口 查看cookie信息: 添加cookie管理器: 二、接口测试的情况 聚合数据: https://www.juhe.cn/ucenter/account 选择:我的接口----AppKey(后面要添的)----接口(点击) 看API文档: 看错误码参照: 1、get请求方式: 接口地址: http://v.juhe.cn/weather/index 使用步骤: 1)选择HTTP请求--------服务器名称(域名)或ip:v.juhe.cn----------协议:http---------- 方法:GET-------- 路径:

数据结构 - Queue、Deque 接口

寵の児 提交于 2020-04-04 11:52:12
简介 队列是一种特殊的线性表。队列有单向队列和双向队列,队列内部结构多大使用数组和链表存储,一般使用数组存储的都会有初试长度和最大长度等,一般使用链表存储没有长度限制。平时在使用中最好不要像队列中插入null(通常也不允许,LinkedList除外),因为null值通常用于poll方法表示当前队列没有元素了,插入null值poll就有歧义。 Queue 接口 public interface Queue<E> extends Collection<E> Queue继承Collection,它是单向队列,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。 Queue 方法 // 添加元素到尾部,队列满时抛IllegalStateException异常 boolean add(E e); // 添加元素到尾部,队列满时返回false boolean offer(E e); // 移除头部元素,队列空时抛NoSuchElementException异常 E remove(); // 移除并返回头部元素,队列为空时返回null E poll(); // 查询头部元素,队列为空时抛NoSuchElementException异常 E element(); // 查询头部元素,队列为空时返回null E peek(); Deque 接口 public interface Deque<E

Java Abstract class and Interface

寵の児 提交于 2020-04-04 08:44:43
(一)概述 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存 在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有 很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的 选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对 于问题领域本质的理 解、对于设计意图的理解是否正确、合理。   abstract class和interface在Java语言中都是用来进行抽象类(本文 中的抽象类并非从abstract class 翻译而来,它表示的是一个抽象体,而abstract class为Java语言中用于定义抽象类的一种方法, 请读者注意 区分)定义的,那么什么是抽象类,使用抽象类能为我们带来什么好处呢?   在 面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是 所有 的类都是用来描绘对象的(把类具体化),如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的 类就是抽象类。抽象类往往用来表征我们在对问题领域进行分析、 设计中得出的抽象概念,是对一系列看上去 不同,但是本质上相同的具体概念的抽象。比如

利用反射动态创建对象

房东的猫 提交于 2020-04-04 08:42:56
前两天我发了一篇文章《 通过反射动态实例化对象中出现的一个奇怪问题 》,对反射中的某些问题疑惑不解。通过这几天不断查看MSDN,上网查询,现在终于解决了该问题。 在VS.Net中,有很多种方法动态调用对象的构造函数。一是通过Activator类的CreateInstance()方法。这个方法我们在Remoting中也用过。它实际上是在本地或从远程创建对象类型,或获取对现有远程对象的引用。它的方法签名是:public static object CreateInstance(Type);(还有其他重载方法)注意它的返回值为object,MSDN对返回值的描述是: 对新创建对象的引用。 二是通过Assembly类的方法CreateInstance()。方法名和前一样,不过它不是静态方法。Assembly是在System.Reflection命名空间中。方法签名:public object CreateInstance(Type);(同样还有其他重载方法)返回值仍然是object,MSDN对返回值的描述是: 表示该类型的 Object 的实例,其区域性、参数、联编程序和激活属性设置为空引用(Visual Basic 中为 Nothing),并且 BindingFlags 设置为 Public 或 Instance,或者设置为空引用 (Nothing)(如果没有找到 typeName)。

各类免费api接口

爷,独闯天下 提交于 2020-04-04 06:58:24
各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的。 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免费的各类API接口。 聚合的免费API接口数据: 手机号码归属地API接口: https://www.juhe.cn/docs/api/id/11 历史上的今天API接口: https://www.juhe.cn/docs/api/id/63 股票数据API接口: https://www.juhe.cn/docs/api/id/21 全国WIFI接口: https://www.juhe.cn/docs/api/id/18 星座运势接口: https://www.juhe.cn/docs/api/id/58 黄金数据接口: https://www.juhe.cn/docs/api/id/29 语音识别接口: https://www.juhe.cn/docs/api/id/134 周公解梦接口: https://www.juhe.cn/docs/api/id/64 天气预报API接口: https://www.juhe.cn/docs/api/id/73 身份证查询API接口: https://www.juhe.cn/docs/api/id/38 笑话大全API接口: https:/

阿里大牛私下赚钱,都在使用的一些免费API接口最佳总结建议收藏

廉价感情. 提交于 2020-04-03 23:35:39
开发多年经验大总结 这里是一些个人开发者接私活和自己做软件加广告的一些科普知识。可是做软件,需要服务器,需要后台,对于一些小的开发者,想赚点广告费而又不想做后台使用服务器的人来说,网上提供了一些免费的接口,可以供我们使用,提供了许多数据。在这里我分享两个不错的提供WEB服务的网站。 第一个:WebXml Web Service(WEB服务)能够快捷和方便地综合并结合各种系统、商务和任何应用平台。新出现的 Web Services 标准: SOAP、WSDL 和 UDDI 能够使任何系统和系统之间的应用变为更加方便和廉价。 这个WebXml提供了很多免费的接口,当然对于次数有点限制,可是对于我们个人开发者来说,这个限制不算什么,免费足够用了。 比如接口API有: 第二个:聚合数据 聚合数据是一个为智能手机开发者,网站站长,移动设备开发人员及图商提供原始数据API服务的综合性云数据平台。包含手机聚合,网站聚合,LBS聚合三部分,其功能类似于Google APIS。 聚合数据提供的接口非常好,个人非常喜欢聚合数据里提供的接口,非常的实用,不过缺点是大部分的接口都是收费的,但是好消息是,自从九月初开始聚合数据逐步将非充值类接口变成了永久免费,第一批免费50类接口。里面有很多不错内容的接口。 比如接口API有: 上面说的这些接口,大部分不需要花钱哦

工业镜头基础知识整理

我怕爱的太早我们不能终老 提交于 2020-04-03 23:30:07
为什么需要镜头? 镜头等同于针孔成像中针孔的作用,所不同的是,一方面镜头的透光孔径比针孔大很多倍,能在同等时间内接纳更多的光线,使相机能在很短时间内(毫秒到秒级)获得适当的曝光;另一方面,镜头能够聚集光束,可以在相机胶片上产生比针孔成像效果更为清晰的影像; 镜头的组成: 机器视觉常用定焦镜头,并且都是手动调整光圈,一般不允许自动调整光圈,镜头上有调焦和调光圈两个环, 为了防止误碰动 ,工业镜头的两个环都有锁定螺丝。 注意调焦环不是用来调整焦距,而是调整像距,保证清晰图像落在焦平面上 工业镜头的接口: 物镜的接口有三种国际标准:F接口、C接口和CS接口。F接口是通用型接口,一般适用于焦距大于25mm的镜头,当物镜的焦距小于25mm时,物镜的尺寸不大,一般采用C型或CS型接口。 C和CS型接口的区别: C与CS型接口的区别在于镜头与相机接触面(基准面)至相机焦平面(摄像机CCD光电感应器所处位置)的距离,即法兰距不同,C型接口法兰距为17,562mm,CS型接口法兰距为12.5mm。 C型接口镜头与CS型相机之间增加一个5mm的C/CS转接环可以配合使用,CS型接口与C型接口相机无法配合使用。 工业镜头的基本参数 视场: Field of View,即FOW,也叫视野范围,指可以观测到的物体的可视范围。 工作距离: Working Distance,指从镜头前部到受检物体表面的距离

《Effect Java》 归纳总结

感情迁移 提交于 2020-04-03 22:06:44
目录: 一、创建和销毁对象 (1 ~ 7) 二、对于所有对象都通用的方法 (8 ~ 12) 三、类和接口 (13 ~ 22) 四、泛型 (23 ~ 29) 五、枚举和注解 (30 ~ 37) 六、方法 (38 ~ 44) 七、通用程序设计 (45 ~ 56) 八、异常 (57 ~ 65) 九、并发 (66 ~ 73) 十、序列化 (74 ~ 78) 正文: 第一章: 创建和销毁对象 1、考虑用静态工厂方法代替构造器 优: ① 有名称 ② 不必在每次调用它们的时候都创建一个对象 ③ 可以放回原返回类型的任何子类型的对象 ④ 在创建参数化类型实例的时候,代码更简洁 缺: ① 类如果不含公有的或受保护的构造器,就不能被子类化 ② 与其他一般的静态方法无多大区别 2、 遇到多个构造器参数时要考虑用构造器 3、用私有构造器或者枚举类型强化 Singleton 属性 4、通过私有构造器强化不可实例化的能力 5、避免创建不必要的对象 6、消除过期的对象引用 7、避免使用终结方法 第二章: 对于所有对象都通用的方法 8、覆盖 equals 时请遵守通用约定 ① 类的每个实例本质上是唯一的 ② 不关心类是否提供了“逻辑相等”的测试功能 ③ 超类已经覆盖了 equals, 从超类继承过来的行为对于子类也是合适的 ④ 类是私有的或包级私有的,可以确定它的 equals 方法永远不会被调用