您的位置 首页 > 百科杂谈 > 杂谈

为什么要对接口进行封装

本文是小编为为什么要对接口进行封装撰写,主要解答关于为什么要对接口进行封装的相关疑惑,以下是正文。

测试开发中,编写接口自动化代码时,为什么要引入封装的技术?

封装是面向对象编程的一大原则,就是把程序的一些细节隐藏起来。封装好的函数接口可以直接拿来调用,不用进行重复性开发。而且后期维护的时候也可以进行单独接口的维护。来说就是为了更好的复用和维护。

因为trunk链路封装协议有2种一个是802.1Q这个是公共协议,就是说所有设备都用的协议,还有一种就是CIsco私有的ISL协议。。因为在路由器上配单臂路由也是走VLAN信息,VLAN只能走Trunk链路。。而子接口是虚拟的,所有有必要对子接口进行封装协议,这样双方才能了解自己用的都是那种协议

所谓封装,就是将属性和方法捆绑到一起,封装到一个对象中去,简单的说,你是人,你有许多属性,比如说你的姓名,年龄,身高,体重,性别,性格,爱好等等,这是属性;而同时,你又会吃饭,睡觉,工作,学习,做事情,这些是方法,是你所具有的;同时将属性和方法封装到一个类中去,就能很完美的描述这个类的特征了,同时,它所具有的方法也就一起集成到类中,方便使用。这些是简单的描述了。至于什么时候需要这个似乎不是讨论的重点了,既然是java号称完全面向对象的语言,那么,你就应该一直以封装方式去思考问题和设计类了。下面摘篇文章,你可以看看~========================================隐藏复杂性,是我们人类处理更复杂问题的一种常用方法。这可能跟人的记忆力、计算力等是有限的这点有关,对这种方法背后原因的深度挖掘,要涉及人类认知学方面的知识,而显然它(认知学)的表现并不尽如人意,否则完全可以根据它造出会认知的机器来。这里不讨论认知学与强人工智能,感兴趣的读者可以找些这方面的资料来读。我们只要知道,这种隐藏复杂性的方法很常用、很好用就可以了,比如操作电视,我们不需要知道电视内部的繁杂的布线,只通过几个电视按钮就可以实现调整音量、切换频道等等功能;软件中,面向对象中的封装,就是对这一基本方法的体现。对象的封装,要分两个方面来考察,一个是怎么样封装才算对,一个是怎么样封装才算好。达到了封装者对对象的职责预期就是对的,否则,就是错的。比如,想得到的是一个狗对象,能狗叫,而封装的结果竟然是个猫,会猫叫。又比如,想得到的是一个狗对象,能狗叫,而封装的结果是一个狗对象,却能猫叫。这都是没有达到封装预期所致。但也有这种情况,有人先封装了一个对象后,接着说,这个对象就是我的预期,这样做就像打哪儿指哪儿的神枪手一样,预期永远与封装的对象相符合,那么我们只能考察它的另一项指标:好不好。而评价封装的好不好,很难有一个客观的标准,不管从哪个角度说,,它都更属于设计美学范畴。当一种封装显得不怎么美的时候,就是不太好。怎么又算美呢?这真的很难说;一千个人可能会有一千种关于美的评价吧。我只能说一下我自己的审美倾向,简洁既是美。简洁的追求会自然促使你让类的职责单一,比如一个狗对象,不但会狗叫,也能猫叫,那么猫叫就是很不和谐的音符,这就显得不美。狗对象只表现狗的行为则显得更为合适,表现的太多,反而会感觉很怪异。假如来了只猫对象,见到这只会猫叫的狗,一定感觉很不是滋味。程序是给程序员看的,职责明确而接口简单的对象,看起来会更舒服,可读性也一定会更好。职责模糊而接口复杂的对象,看起来总不那么舒服(虽然也能实现所有业务功能)。我们还是看一段具体的程序吧。这是一个计数器程序。 这个类只有一个属性,对应到这个对象,则这个类属性代表着对象的状态,所有的方法,都是围绕着对象的基本属性或状态进行的操作,没有和基本属性无关的操作。这个对象的职责就是负责计数。很简洁。假如我们再添加一个方法,如下:public int max(int a,int b){ if(a>b) return a; else return b;}那么这个方法对于这个计数器对象来说,就是相当于狗对象中有了猫叫,就是不和谐的,就是不美的。这个方法和计数器的职责是无关的,它也没有涉及到类属性的任何操作,如果一个操作对它自身没有任何影响,这好像更应该是别的对象的方法。所以,把取得最大值这种方法放在这里是很累赘的。 既然是在进行封装和信息隐藏,就要区别于开放和信息暴露,那么在能完成特定职责的情况下,封的越严实越好,信息隐藏的越多越好,留的接口越少越好,这样的对象的功能才强大而接口又简洁。这种简洁的美感怎么表述呢,我总认为苹果公司的各种产品的界面设计最能体现出这种简洁美感。IPod的界面和操作设计,就有一种艺术般的简洁美感。而面向对象设计中的封装,也应该向iPod的封装效果学习。 比如两个同类型对象,如果它们的id属性相等,则认为这两个对象相等。有两种办法判断相等,一种是分别通过两个对象提供的接口取出对象id,再在对象外的程序中做id的比较逻辑判断(例如:if a.id=b.id then…);一种是对象本身提供是否相等的方法,在对象内部完成此判断,外人看不到(例如:if a.equal(b) then…)。这样,把实现细节隐藏在内部,显然这样的封装的更加合理,使用起来也更加的方便。这就像操作轿车,如果轿车的接口是这样:按一个按钮,弹出一根线,再按下另一个按钮,弹出另一根线,然后司机用手把两根线一碰,汽车发动了!虽然也能发动汽车,但未免太麻烦了;这种发动汽车的方式就像比较两个对象是否相等的例子中的前者,这样做肯定也是能发动着汽车的,就像很多封装的不好的对象一样能实现要求的功能一样(比如比较对象是否相等的第一个例子)。一拧钥匙,汽车就发动,明显优于手工碰线头的方式。 一想起封装与信息隐藏,我总是会不由自主的想起《自私的基因》一书的作者道金斯说的关于基因的一段话: 但在今日,别以为它们(基因)还会浮游于海洋之中了。很久以前,它们已经放弃了这种自由自在的生活方式了。在今天,它们群集相处,安稳地寄居在庞大的步履蹒跚的“机器”人体内,与外界隔开来,通过迂回曲折的间接途径与外部世界联系,并通过遥控操纵外部世界。它们存在于你和我的躯体内;它们创造了我们,创造了我们的肉体和心灵;而保存它们正是我们存在的终极理由。这些复制基因源远流长。今天,我们称它们为基因,而我们就是它们的生存机器。 他的这段话如此精彩,令我忍不住套用如下: 基本的变量已经不再浮游于一大段一大段的程序中了,它们已经放弃了(其实是程序员不用这种方式了)这种自由自在的存在方式,而是安稳的寄居于庞大而蹒跚的“对象”内部,与外界隔开来,通过迂回曲折的间接途径与外部世界联系和通信。而这些对象,就是它们这些基本变量的生存机器! DB37是标准库,没有必要自己画,软件封装库里有现成的,直接使用即可。(下图是DB37的不同的四种形式 ) 封装的作用主要有2点:1、是用来保护元器件内部电路,不直接裸露在空气当中,这样容易产生氧化,以外短路等情况。2、是方便连接,封装通常都是标准化的。对元器件进行封装,可以使该元件方便的连接到各种具有该封装接口的的接口插座上。举个例子来说,如计算机主板上的PCI插槽,可以用来插声卡,网卡等各种标准化的板卡。所谓的PCI插槽就是一种标准化的接口模式。 肯定了

封装是面向对象编程的一大原则,就是把程序的一些细节隐藏起来。封装好的函数接口可以直接拿来调用,不用进行重复性开发。而且后期维护的时候也可以进行单独接口的维护。来说就是为了更好的复用和维护。

因为trunk链路封装协议有2种一个是802.1Q这个是公共协议,就是说所有设备都用的协议,还有一种就是CIsco私有的ISL协议。。因为在路由器上配单臂路由也是走VLAN信息,VLAN只能走Trunk链路。。而子接口是虚拟的,所有有必要对子接口进行封装协议,这样双方才能了解自己用的都是那种协议

  • 19315855385:封装的意义和作用,以及工厂方法是什么意思
  • 谭裘答:团队中的组长角色定义好固定的方法,变量。提供后小组人员继承或者实现。避免了同样名字方法实现不同的功能。一般适用于实现工具类或者如下需求,比如说,链接数据库必须使用getLink方法。这样getLink方法使用封装好的或者接口。就...
  • 19315855385:为什么要将处理器进行封装?
  • 谭裘答:2、TO-252封装:塑料焊盘栅格阵列封装。二、特点不同 1、D-PAK封装:不使用针脚,而是使用“金手指”触点,处理器使用这些触点来传递信号。2、TO-252封装:没有使用针脚,而是使用了细小的点式接口,具有更小的体积、更少...
  • 19315855385:JAVA为什么要使用封装,封装的作用有哪些?
  • 谭裘答:java类的封装性就是不能让外面的类随意修改一个类的成员变量 基本类型只能按值传递,而每个基本类型对应的封装类是按引用传递的。从性能上说java中的基本类型是在堆栈上创建的,而所有的对象类型都是在堆上创建的,(对象...
  • 19315855385:封装是什么意思 详解计算机编程中的封装概念?
  • 谭裘答:在计算机编程中,封装是指将数据和操作数据的方法封装在一起,形成一个独立的单元。这个单元可以对外部提供一些接口,让外部程序可以调用它的功能,而不需要了解它内部的具体实现。
  • 19315855385:2.三成交换机为什么使用trunk端口要封装数据 有什么作用?
  • 谭裘答:trunk是用来传输多个vlan的,vlan是三层交换机上一种特殊的虚拟接口,说它特殊是因为区别于其他接口,但其实也不特殊,用的很多。如果没有trunk,那你只能传输一到两种vlan,再多就没办法传输了。
  • 19315855385:Python中的封装有什么作用?
  • 谭裘答:③对外提供接口方便使用。④可维护性好,方便修改实现,修改完成后,对外接口不变,对用户使用无影响。⑤方便重用,任何一个会开车的人都可以驾驶汽车,只要对外的接口相同就行了。总之,封装就是将抽象得到的属性和方法形成“...
  • 19315855385:vue入门:对vue项目中api接口的封装管理
  • 谭裘答:在以前的文档中,我们构建了vue项目的整体架构,详见 vue入门:vue项目架构设计起步 ,现在我们主要对其中的api接口封装进行完善,并将过程做个记录,与之分享。很多朋友在开发过程中,习惯性直接将api的调用写在单个组件之中...
  • 19315855385:Java中为什么要对8种基本类型进行封装
  • 谭裘答:Java中要对8种基本类型进行封装原因:1、因为封装的数据类型就是一个对象,可以拥有属性和方法,有了这些属性和方法我们就可以用它们来处理数据,比如Integer对象里的parseInt(String s),可以把字符串转换成int类型等。2、...
  • 19315855385:为什么使用接口?
  • 谭裘答:由此,设计公有的接口要非常谨慎,一旦一个接口被公开且被广泛实现,对它进行修改将是不可能的。 所以,使用接口还是抽象类,取决于我们对问题的概念的本质理解和设计的意图。Java接口与抽象类的相同点:1. 都不能被实例化。2. 都能包含...
  • 19315855385:c++类中的抽象,方法,接口,封装是什么意思?请说的简单点
  • 谭裘答:抽象:把现实的对象属性转化成数据映射到类上 方法:就是函数,对成员的一系列操作 封装:相当于一个 黑盒子 ,用户不需要看到里面的东西 接口:基于封装,只留给用户使用的方法,这些方法就是接口 ...

    相信读者朋友经过小编一番耐心的解答已经对为什么要对接口进行封装了然于胸,若还存在疑惑可通过站内搜索找到答案。

    责任编辑: 鲁达

    1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
    2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
    3.本站属于非营利性站点无毒无广告,请读者放心使用!

    “为什么要对接口进行封装”边界阅读