结构型模式:适配器模式

文章首发:结构型模式:适配器模式七大结构型模式之一:适配器模式。简介姓名 :适配器模式英文名 :Adapter Pattern价值观 :老媒人,牵线搭桥个人介绍 :Convert the interface of a class into another interface clients expect.Adapter lets classes work together that couldn’t otherwise because of incompatible interfaces.将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。(来自《设计模式之禅》)你要的故事大家有买过港式的 Apple 产品么?在深圳的同学估计买过,毕竟港式的 Apple 产品基本比国内便宜 500 以上。我手机和平板都是在香港买的,买来后这充电器是没法直接充电的,因为港版的电子产品都是英式的插头,而咱们国内是中式的,所以用上港版电子产品的同学免不了要用上这么一个转换器:将英式的插孔转为中式的插孔,方可插入咱家里的插座充电。这个转换器就是今天想讲的适配器。没见过的同学可以看看图片熟悉一下,下图右边为港版苹果手机充电器,插头比较大,左边为某品牌转换器,插头为中国家用标准形状。下图为使用时的图片在这描述一下这个场景。用港式插头要在国内充电,因为插头和插座大小对不上,所以需要加一个适配器,这个适配器充当插头和插座,它的插头可以插入国内标准的插座,它的插座可以插入港式标准的插头,这样子就可以用港式充电器在国内为手机充电。下面用适配器模式代码实现这个场景。首先需要找到被适配的对象是什么?在这里我们的被适配对象是英式充电器。/** * 英式充电器 /class BritishCharger { public void chargeByBritishStandard(){ System.out.println(“用英式充电器充电”); }}在这个场景的目的是什么?在中国为港式手机充电,因此目的是让英式充电器能够在中国标准的插座充电。/* * 使用中式插座充电 /interface Target { void chargeByChineseStandard();}接下来是这个设计模式的主角:适配器。它需要连接中式插座以及英式充电器,在中间做适配功能。/* * 充电器适配器 */class ChargerAdapter implements Target { private BritishCharger britishCharger; public ChargerAdapter(BritishCharger britishCharger) { this.britishCharger = britishCharger; } @Override public void chargeByChineseStandard() { System.out.println(“使用中英式插头转换器”); britishCharger.chargeByBritishStandard(); }}上面是适配器模式的一个简单的例子,要学习适配器模式也可以看看 Java 的 IO 实现源码,里面是应用适配器模式的官方很好的代码。总结适配器很好的将 2 个无法关联的类结合起来,在中间起桥梁作用。另外新增适配器代码不会影响原来被适配者的正常使用,他们可以一起被使用。在工作中和外部系统对接的时候,大可能外部系统的数据格式和自己系统的数据格式并不相同,这时候就可以利用适配器模式来实现。推荐阅读行为型模式:访问者模式行为型模式:解释器模式行为型模式:备忘录模式公众号后台回复『大礼包』获取 Java、Python、IOS 等教程加个人微信备注『教程』获取架构师、机器学习等教程 ...

April 17, 2019 · 1 min · jiezi

《2018中国移动游戏质量白皮书》开放预约,直面游戏行业现状

作者:WeTest小编商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。原文链接:https://wetest.qq.com/lab/view/431.html对于国产游戏行业而言,2018年是矛盾的一年。一方面,2018年是内容孵化、品类衍生的“成长年”。中国互联网络信息中心(CNNIC)第42次《中国互联网络发展状况统计报告》指出,我国网民规模已达8.02亿,其中手机网民规模已达7.88亿,而网络游戏使用率更达到了60.6%。这说明,游戏愈发成为大众主流的娱乐方式,更为细分的游戏题材、游戏品类被深入挖掘,小游戏、功能游戏纷纷突出重围,被大众认可。另一方面,2018年也是游戏行业的“挑战年”。这一年,国内游戏用户总量趋近饱和,游戏玩家对游戏品质要求在不断抬高,游戏的正向价值、社会价值更待通过玩法内容来实现。此外,随着互联网直播的普及,以游戏为起点,电竞、游戏直播、泛娱乐联动全产业链发展模式,也在不断考验着开发者们融会贯通。在2018年游戏产业年会上,中宣部出版局副局长冯士新为游戏行业带来了重大利好的消息,游戏版号审批已逐步恢复,走向正轨。这意味着,面对即将到来的2019年、面对游戏行业“大浪淘沙”后的转折点,在有限的版号资源下,游戏开发者必须深耕存量,把握用户瞬息万变的需求,做好品质把控,才能在贴身肉搏中领先、取胜。然而,对于时间、人力、资金有限的诸多游戏开发者来说,现实情况是无法短时间有效获得客观、准确的用户信息,更无法拥有大量样本的行业数据来实现自身质量把控。因此,为了帮助开发者更加准确地把握行业风向,腾讯质量开放平台WeTest将于2019年1月7日带来质量大数据年度巨献《2018中国移动游戏质量白皮书》。目前,腾讯WeTest官方网站已开放预约。WeTest官网已开放《2018中国移动做游戏质量白皮书》预约掌握年度行业趋势,五大行业数据帮助游戏开发者向阳前行 秉承以往服务于游戏开发者的专业态度,腾讯WeTest《2018中国移动游戏质量白皮书》将通过研发概况、市场硬件环境、兼容性、客户端/服务器端性能、安全现状、小游戏测试、用户口碑等多个维度,进行游戏行业数据搜集与研究,对热点、重点测试问题进行优化建议,助力游戏开发者向阳前行。看点一:腾讯手游性能大数据首度公开,多维度数据对比盘点在以往的游戏行业,开发者们很难找到客观、专业、一并代表行业标准的产品性能数据,更无法进行准确校对,帮助自家产品合理定位,降低产品后续发行风险。因此,结合以往内部验证积累出的经验,腾讯WeTest首度公开腾讯手游性能大数据,根据时下主流游戏品类,全面盘点iOS与Android系统、不同分档机型中游戏的性能表现,最大程度帮助开发者定位行业头部游戏的性能标准。看点二:战术竞技类手游声量不减,性能问题成为关注近两年间,倘若论及游戏品类最大黑马,无疑是战术竞技类游戏。2018年2月,战术竞技类手游声量达到全年峰值。然而,“开黑”“画质”“卡顿”“外挂”“模拟器”成为战术竞技类手游上升的最大瓶颈,也成为各家厂商面对的重要挑战。为此,本次白皮书再度对战术竞技类手游性能进行复盘分析,以服务器、画质、卡顿等玩家需求为接入点,深入剖析问题,帮助开发者攻克技术性难点。看点三:手游安全问题间不容发,漏洞、外挂顽疾亟需治标治本近年间,安全问题一直影响移动游戏的主要敌人。据调查,在每年手游行业每年因外挂、客户端&服务器漏洞、渠道推广作弊、不良内容传播等行为,遭受着超过几十亿的损失。而目前在超过千亿元(人民币)的手游市场中,有80%的移动游戏存在至少1个安全隐患,这极大地影响了游戏用户体验感。这其中,卡牌游戏、赛车竞速、射击、战术竞技等强交互类游戏成为外挂漏洞的“重灾区”。随着这些游戏的玩法成长与衍生,2017年至2018年,研发期手游致命类安全问题亦从27%泛滥到34%,运营期致命类安全问题占比更高达50%。因此,白皮书中,将针对2018年安全问题再度进行专业级复盘,帮助开发面对手游安全能从容应对,治标治本。看点四:移动硬件设备与系统高频升级,异形屏适配、系统兼容带来挑战Ericsson公开报告指出,智能手机占所有用户约55%,即大约有27.5亿人本身有一部或以上智能手机。然而在现阶段里,市场上Android机型出新速度快、市场平均每年推出的移动产品仍高达2000款。同时,这些机型系统升级快、碎片化严重,基于数以亿计算的移动用户中,针对应用定位,不同机型覆盖用户差异可能会以万数计算。因此,移动硬件设备适配、移动系统兼容性也愈发成为互联网+时代下,用户衡量产品质量高低的重要标准。在本次白皮书中,腾讯WeTest将对腾讯大数据统计出的Top100市场主流机型进行盘点,解读市场主流移动设备,梳理开发者应对不同主流机型,在游戏测试中最需关注的重点问题。此外,在2018年,随着谷歌旗下Android 9 Pie面向全球发布,更多流量池正在被挖掘与重视。但倘若希望第一时间完成新流量的转化,开发者就要摸清新移动系统的适配性,做好游戏兼容。依托于大量游戏测试数据,腾讯WeTest发现Android 9 Pie兼容性游戏测试中,Crash问题占比超过70%。对此,白皮书中将给予开发者具体优化建议,并进一步梳理Android 9 Pie系统下常见的兼容问题。看点五:专业盘点小游戏测试典型问题与解决方案2018年,是小游戏爆发的元年,而市场当中,关于小游戏开发测试的专业数据尚不多见。因此,依托于腾讯旗下小游戏研发经验以及案例,腾讯WeTest调查显示,小游戏主要测试问题来自于功能与适配测试,异形屏的UI遮挡是开发者适配测试中面临最多的问题。对此,白皮书将以腾讯小游戏为例,梳理测试中开发者可能遇到的典型问题,并给出优化建议。腾讯WeTest官方网站现已开放预约洞察风向,深耕品质。在更庞大、准确的数据支撑下,腾讯质量开放平台WeTest将带来质量大数据年度巨献,以专业的角度予以解读2018年手游行业现状,为广大移动游戏开发者带来具有前瞻性的实质性建议。更多关于2018年度移动游戏行业数据总结,请期待完整版《2018中国移动游戏质量白皮书》。《2018中国移动游戏质量白皮书》将于2019年1月7日正式发布,目前腾讯WeTest官方网站现已开放预约,完成预约的用户将在正式发布后的通过邮箱收到电子版白皮书,期待您的预约。点击:https://wetest.qq.com/whitepaper/2018 前往预约页面。如果有任何疑问,欢迎联系腾讯WeTest企业QQ:2852350015作者:WeTest小编商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。原文链接:https://wetest.qq.com/lab/view/431.html对于国产游戏行业而言,2018年是矛盾的一年。一方面,2018年是内容孵化、品类衍生的“成长年”。中国互联网络信息中心(CNNIC)第42次《中国互联网络发展状况统计报告》指出,我国网民规模已达8.02亿,其中手机网民规模已达7.88亿,而网络游戏使用率更达到了60.6%。这说明,游戏愈发成为大众主流的娱乐方式,更为细分的游戏题材、游戏品类被深入挖掘,小游戏、功能游戏纷纷突出重围,被大众认可。另一方面,2018年也是游戏行业的“挑战年”。这一年,国内游戏用户总量趋近饱和,游戏玩家对游戏品质要求在不断抬高,游戏的正向价值、社会价值更待通过玩法内容来实现。此外,随着互联网直播的普及,以游戏为起点,电竞、游戏直播、泛娱乐联动全产业链发展模式,也在不断考验着开发者们融会贯通。在2018年游戏产业年会上,中宣部出版局副局长冯士新为游戏行业带来了重大利好的消息,游戏版号审批已逐步恢复,走向正轨。这意味着,面对即将到来的2019年、面对游戏行业“大浪淘沙”后的转折点,在有限的版号资源下,游戏开发者必须深耕存量,把握用户瞬息万变的需求,做好品质把控,才能在贴身肉搏中领先、取胜。然而,对于时间、人力、资金有限的诸多游戏开发者来说,现实情况是无法短时间有效获得客观、准确的用户信息,更无法拥有大量样本的行业数据来实现自身质量把控。因此,为了帮助开发者更加准确地把握行业风向,腾讯质量开放平台WeTest将于2019年1月7日带来质量大数据年度巨献《2018中国移动游戏质量白皮书》。目前,腾讯WeTest官方网站已开放预约。WeTest官网已开放《2018中国移动做游戏质量白皮书》预约掌握年度行业趋势,五大行业数据帮助游戏开发者向阳前行 秉承以往服务于游戏开发者的专业态度,腾讯WeTest《2018中国移动游戏质量白皮书》将通过研发概况、市场硬件环境、兼容性、客户端/服务器端性能、安全现状、小游戏测试、用户口碑等多个维度,进行游戏行业数据搜集与研究,对热点、重点测试问题进行优化建议,助力游戏开发者向阳前行。看点一:腾讯手游性能大数据首度公开,多维度数据对比盘点在以往的游戏行业,开发者们很难找到客观、专业、一并代表行业标准的产品性能数据,更无法进行准确校对,帮助自家产品合理定位,降低产品后续发行风险。因此,结合以往内部验证积累出的经验,腾讯WeTest首度公开腾讯手游性能大数据,根据时下主流游戏品类,全面盘点iOS与Android系统、不同分档机型中游戏的性能表现,最大程度帮助开发者定位行业头部游戏的性能标准。看点二:战术竞技类手游声量不减,性能问题成为关注近两年间,倘若论及游戏品类最大黑马,无疑是战术竞技类游戏。2018年2月,战术竞技类手游声量达到全年峰值。然而,“开黑”“画质”“卡顿”“外挂”“模拟器”成为战术竞技类手游上升的最大瓶颈,也成为各家厂商面对的重要挑战。为此,本次白皮书再度对战术竞技类手游性能进行复盘分析,以服务器、画质、卡顿等玩家需求为接入点,深入剖析问题,帮助开发者攻克技术性难点。看点三:手游安全问题间不容发,漏洞、外挂顽疾亟需治标治本近年间,安全问题一直影响移动游戏的主要敌人。据调查,在每年手游行业每年因外挂、客户端&服务器漏洞、渠道推广作弊、不良内容传播等行为,遭受着超过几十亿的损失。而目前在超过千亿元(人民币)的手游市场中,有80%的移动游戏存在至少1个安全隐患,这极大地影响了游戏用户体验感。这其中,卡牌游戏、赛车竞速、射击、战术竞技等强交互类游戏成为外挂漏洞的“重灾区”。随着这些游戏的玩法成长与衍生,2017年至2018年,研发期手游致命类安全问题亦从27%泛滥到34%,运营期致命类安全问题占比更高达50%。因此,白皮书中,将针对2018年安全问题再度进行专业级复盘,帮助开发面对手游安全能从容应对,治标治本。看点四:移动硬件设备与系统高频升级,异形屏适配、系统兼容带来挑战Ericsson公开报告指出,智能手机占所有用户约55%,即大约有27.5亿人本身有一部或以上智能手机。然而在现阶段里,市场上Android机型出新速度快、市场平均每年推出的移动产品仍高达2000款。同时,这些机型系统升级快、碎片化严重,基于数以亿计算的移动用户中,针对应用定位,不同机型覆盖用户差异可能会以万数计算。因此,移动硬件设备适配、移动系统兼容性也愈发成为互联网+时代下,用户衡量产品质量高低的重要标准。在本次白皮书中,腾讯WeTest将对腾讯大数据统计出的Top100市场主流机型进行盘点,解读市场主流移动设备,梳理开发者应对不同主流机型,在游戏测试中最需关注的重点问题。此外,在2018年,随着谷歌旗下Android 9 Pie面向全球发布,更多流量池正在被挖掘与重视。但倘若希望第一时间完成新流量的转化,开发者就要摸清新移动系统的适配性,做好游戏兼容。依托于大量游戏测试数据,腾讯WeTest发现Android 9 Pie兼容性游戏测试中,Crash问题占比超过70%。对此,白皮书中将给予开发者具体优化建议,并进一步梳理Android 9 Pie系统下常见的兼容问题。看点五:专业盘点小游戏测试典型问题与解决方案2018年,是小游戏爆发的元年,而市场当中,关于小游戏开发测试的专业数据尚不多见。因此,依托于腾讯旗下小游戏研发经验以及案例,腾讯WeTest调查显示,小游戏主要测试问题来自于功能与适配测试,异形屏的UI遮挡是开发者适配测试中面临最多的问题。对此,白皮书将以腾讯小游戏为例,梳理测试中开发者可能遇到的典型问题,并给出优化建议。腾讯WeTest官方网站现已开放预约洞察风向,深耕品质。在更庞大、准确的数据支撑下,腾讯质量开放平台WeTest将带来质量大数据年度巨献,以专业的角度予以解读2018年手游行业现状,为广大移动游戏开发者带来具有前瞻性的实质性建议。更多关于2018年度移动游戏行业数据总结,请期待完整版《2018中国移动游戏质量白皮书》。《2018中国移动游戏质量白皮书》将于2019年1月7日正式发布,目前腾讯WeTest官方网站现已开放预约,完成预约的用户将在正式发布后的通过邮箱收到电子版白皮书,期待您的预约。点击:https://wetest.qq.com/whitepaper/2018 前往预约页面。如果有任何疑问,欢迎联系腾讯WeTest企业QQ:2852350015

January 3, 2019 · 1 min · jiezi