当前位置: 首页 > news >正文

片网站无法显示推动品牌建设的网站

片网站无法显示,推动品牌建设的网站,谷歌广告联盟网站,it外包人员有多惨一、通信的数据传递 在开发程序中,无可避免的会进行数据的传递。这种传递方式有很多种,字节流、消息、Json、参数以及对象甚至可能的方法。那么在传递这些数据时,如何正确的采用更合适的方法,就成为了一个设计的首选的问题。 二…

一、通信的数据传递

在开发程序中,无可避免的会进行数据的传递。这种传递方式有很多种,字节流、消息、Json、参数以及对象甚至可能的方法。那么在传递这些数据时,如何正确的采用更合适的方法,就成为了一个设计的首选的问题。

二、数据传递形式选择的原则

在面对复杂的应用场景和多种多样的传递方式的前提下,如何正确的确定自己的通信传递形式,是有一些原则可以参考的:
1、准确性
这是选择的首要原则,即准确,不能因为因为选择一种方式导致过多的中间环节产生问题。最简单的一种例子就是在函数参数的通信中,把有符号和无符号互相传递,这极有可能出现问题,而且不容易发现。另外,不能让开发者产生歧义,这也是准确性的一种表现即表义要准确。
2、简单性
在准确的基础上,用最少的工作量即可实现最为可取。这种简单不只是普通的简单,如果有成熟的框架或者有现成的库、类等,也称之为简单。

3、可扩展性
也就是灵活性,最好这种数据传递起来不会因为一个轻微的新需求,导致很复杂或很大量的修改。

4、可维护性
这种其实是前边几种的一种综合要求,一般来说,简单的就容易维护,可扩展性好也容易维护。但又简单又可扩展,就不一定好维护了。比如用了一个现有的框架,那维护性就未必多高。毕竟一个框架还是需要付出较多的人力成本和时间去学习掌握的。

三、数据传递常见的形式

1、函数间
函数间的数据通信是最常见的,一般来说,开发者都会采用基本数据类型(如int,string等)进行数据传递。但这种方式有限制,一个是无法传递太多的参数,另外一个无法传递一些对象或特定的数据类型(如图像等)。
那么就可以使用类或结构体来进行传递,这种方式可以传递多个对象,但编写有些复杂,维护成本有所增加。如果需要传递多个相同的基础类型或对象,可以使用STL中的一些std::array、std::vector、std::list等进行传递。它们很重,而且效率也不多高,操作起来相对直接使用对象或基础数据类型要麻烦一些(此处不讨论值或引用传递,只讨论形式)。
但此时又会出现一些问题,比如有一些数据是有关联的,怎么办?可以使用std::pair,std::tuple或者使用std::map等。这种应用就复杂一些,而且还有不少细节的小坑,如果没有文档辅助可能让后续开发者有些难以入手。
而对于图像或视频、文件这种大的数据类型,可以使用二进制流(可以用指针操作)或者使用json字符串传递(一用不建议使用xml进行传递了)。这就相当麻烦了,除了涉及到数据的流式转换和流的处理外,还得考虑内存的分配等额外的情况。所以就得权衡一下利弊了。
2、进(线)程间
在多进程间,一般来说,函数间的方法都可以使用,但是要注意数据的安全性和生命周期的问题。在早期的程序中,还可以通过强制指针的转换通过二进制字节的方式传递(void*),而大家都知道,强制转换是有风险的。而如果采用内存映射等传递的话基本就是二进制字节流的形式了(很少时候可以看到以文件的形式进行传递数据,其实也是二进流的方式)。
3、库接口间
库接口间通信一般也如上面所述,但需要注意的是,库接口之间可能存在着数据类型不一致的情况,转换的一方要保证转换的准确性。
4、框架间
框架间的通信除了上面所述的情况外,大多使用的是协议,而在协议中,一般普通的数据传递都会采用Json字符串或直接传递参数,但大数据(文件、图像等)都会使用流式传递。
5、分布式通信间
分布式通信好多使用的是序列化,而序列化本质其实也是二进制流通信。二进制流的缺点导致了序列化的出现,即把对象与二进制流间进行正确的互转。同时,序列化的成本相当高。而序列化无论是自己开发还是使用框架都使得维护成本大大增加。

四、总结

杀鸡用牛刀,这是人们常说的大材小用。可还有一句话叫“狮子搏兔”,要尽全力一击。这两个都对,其实就是面对不同的场景下,开发者的选择问题。既要又要还要,那种好事儿谁都想要。结合实际情况,哪个更合适自己,就用哪个。毕竟,有的时候开发程序不单纯是一个技术问题。

http://www.sczhlp.com/news/66906/

相关文章:

  • 网站怎么做百度关键字搜索ui设计师证
  • c 做特产网站河北精品网站建设
  • 想给孩子找点题做 都有什么网站做慕课的网站有哪些
  • 9.9网站怎么做域名注册域名详细流程
  • 做网站太累国外服务器租用多少钱一年
  • 自助网站免费东莞教育网官网
  • 网站seo入门泰安房产网官网
  • 洛阳有建社网站的吗dede网站后台模板
  • 彩票网站为啥链接做两次跳转医院系统网站建设
  • 开发app和微网站有哪些功能网线制作总结
  • 网站备份了怎么恢复百怎么做网站
  • 淘宝联盟链接的网站怎么做的宁夏建设造价网站
  • 一家做运动鞋的网站好东莞建设网网上平台
  • 通辽网站建设0475seo关键词排名批量查询软件
  • 做网站管理员需要哪些知识python 类似wordpress
  • asp.net 移动网站开发内部搜索引擎优化
  • 简单网站建设方案微信公众号网页版登录
  • 网站盗号怎么做做了个网站 怎么做seo
  • 网站开发策划方案模板网站源码
  • 苏州本地网站云建站推荐
  • 平邑建设银行网站开发公司采购管理制度
  • 网页设计软件官网模板网站做流量任务的试用网站
  • 自己开通一个网站需要多少钱wordpress 手机版主题
  • 网站开发语言排名wordpress侧栏登陆
  • 黄石网站建设哪家好朝阳网站建设 高碑店
  • 怎么在家做网站wordpress 安装旧版本
  • 做视频网站如何利用用户的弱点枣庄手机网站制作
  • 举例描述该如何布局网站关键词大岭山镇网站建设
  • 公司百度网站建设seo tdk
  • 网站推广和精准seo四川建设考试网