框架设计之ADO.NET Command的ExecuteScalar误用情景及底层演说

by admin on 2019年3月25日

WWDC 2017 上颁发了崭新的 iOS
11,系统自己在规划上就有了过多变通和更新:消息更扁平的操纵中央、WP
风格的大题目、截图编辑功用、相机直扫二维码等等。可是,作为一名电商设计师和
App 爱好者,这一次立异最让自家感兴趣的实际上 App Store 的“面目全非”了。

近年来下载了点资料,学了学Android,发现Android入门还算简单,从.NET过渡到Android,也就三七十一天的事。

有指标的解析和布署性才有效。所以聊具体制改进版方案以前,我们先来捋一下 App
Store 的出品指标。很清楚,App Store 的成品目的能够分成以下七个地点:

大家伙儿有空也得以学学。。。

壹 、商业指标   抓住越多优质开发者入驻平台,提供越来越多优质
App,营造更宏观、更高品位的采用生态环境。当然还有,赚越来越多的钱。

好了,言归正文,那日,有网络朋友发了八个他们公司的数据层框架的DLL,让笔者审视(Reflector查看如下):

② 、体验指标   帮助用户发现想要的 App。

图片 1 

能够再对用户类型划分为两类:

炸一看框架,支持的数据库连串繁多,看来写框架的人涉及面还挺广的。

率先类用户,有拨云见日的靶子,大多通过朋友推荐或其余外部渠道已经查出App
轮廓,并使用搜索查找 App;

往里一看,相比较悲催,有广度而无深度,其它数据库类别的dll须要提前引用,那是一对一浩大的数据库工程:

第③类用户,有模糊的诉讼要求,如好玩的嬉戏、有趣的应酬、新奇的筹划等等,通过
Store 首页、排行榜、编辑精选等渠道来“逛”,以此发现感兴趣的 App。

图片 2 

眼看,本次改版是想要珍视抓住第1类用户的心。

框架具体就只是多点评了,在不理会思间,本身看到有多个闪光点,觉的能够和大伙儿分享分享:


1:检查和测试某列是或不是留存: 

规定目的后,大家得以用一句话来描述 App Store 改版前的成品情形:

图片 3

货架本性明显,引导购物能力不足。

2:检查和测试某表是不是留存: 

具体来说,能够拆分成以下多个方面:

图片 4 

① 、流量红利不再 
 一项数据申明,二〇一五年至二〇一五年,泛生活应用数量占比进步30.7%,但接纳流量占比仅升高16.7%。可知,与其说
App Store
自小编更新,不比说是整个市镇条件都在倒逼“应用公司”开拓新的行使分发方式。

这是一条判断某字段列和某表是不是留存的情势,此处用了select X from
table的方法,然后调用了GetSingle(sql)。

二 、古板引导购物免疫性   普通用户的无绳电话机中大致会安装20-贰十八个App,但她俩在5个月依旧一年内,大概都不会去下载、尝试新的
App。一方面,极少数的 App
已经知足了大家平常绝半数以上急需,用户口味越来越刁钻;其次,App
下载和试用费用比比皆是,对于古板呆板、无趣的引导购物推荐格局基本产生了免疫性。

而 GetSingle的代码如下:

③ 、榜单秩序混乱   iOS
平台的刷榜甚至变成了3个完好无损的家产,除了巨头应用之外,其余娱乐、App 在
Store 并倒霉过。正由于原先 Store
的引导购物渠道只有首页推荐和排名榜二种,排名榜成为伟大、单一的流量入口,导致众多其实特别小巧、良心的选拔不能够被用户所发现。

图片 5 

归纳,光是提供准确的寻找和完整的 App
消息已经无力回天满意市场和买主,怎样扶持用户发现更多、更优质的运用才是改版所考虑的机要。因而,“内容化引导购物”成为本次App Store 改版的骨干指标。

代码里,关于ADO.net的连锁对象没进步到全局变量以重用这一个不是讲的重中之重,就先忽略先,明日分享的知识点是ExecuteScalar:


对于ADO.NET的Command命令,有七个格局,大伙很熟知:

接下去,我们看看具体制改善版中值得说的方案

 

超级导航变化

精品推荐、体系、排行榜、搜索、更新,旧版的五个底部 Tab
中,前八个在新版中被直接交流为明天、游戏、App,而革新优先级提前,搜索被停放最终。

最要害的,正是移除了排名榜 Tab。那意味着 App Store
彻底改变了利用推荐的规则,将不再强依赖评论、评分,直接斩杀了选拔刷单;

附带,将游乐单独从利用中单独出1个Tab。游戏作为一切应用商场中获利最强的留存,一方面为开发者和 App Store
带来了多方的受益,另一方面游戏采纳的黏性、活跃度也远超其他App。因而,本次将游戏单独列为多少个超级 Tab ,不失为一种聚焦流量的做法;

其余,弱化搜索和分类,越来越多依赖内容实行利用分发。从一流导航中移除分类,前置搜索,都威名赫赫是为着让出愈多的流量到前三级
Tab。古板货架式引导购物的疲惫已经被市场地评释,在保障搜索常驻的前提下,确实并未供给对它和分类做过多的强调。



1:ExecuteDataReader,重返数据流,用于列表读取。
2:ExecuteScalar,重返首行首列。
3:ExecuteNonQuery,重返首影响的行。

纯新闻流的后天 Tab

明日 Tab 是这一次改版中最让自己感动的地点。作为第超级Tab,巨大、显眼的卡片式设计表示消息透出更为聚焦,但一屏1个卡片,也捐躯了成千成万频率。今日Tab 下,每一日会推送一批卡片,分为以下几类:

World Premiere(世界首发):最优先展示的资源位,用于投放那多少个备受关注的
App。

旧版的精品推荐 Tap
平常在巨作发表时占用一整行的卡片来做推广,但那种方式并不够产品化,分立的卡片也不可能很好地展现App 特点,逼格和调性都非常的矮。

现在,通过音信流卡片中最顶层的财富位,能够卓殊好地建议首推应用。

 

App of The Day、Game of The Day(明日利用/游戏):每一天首要引进的一款应用和娱乐

那有的的卡片图形都统一筹划的不行出色,但音信交互小编认为还不够好。如下图可见,卡片上最分明是“GAME
OF THE
DAY”,而被推荐的行使名却被削弱在左下角,难免某些剧情倒置。假使把双方优先级对掉,效果恐怕更好。



解说: 

The Daily List/Collection(列表):带有推荐宗旨的 App 集合

为了消除明日 Tab 的卡片低效,List
也是老大自然的1个统一筹划。值得说的是,每天的引荐主旨都只怕不平等,如下图“Relax.
Breathe. Zen Out Anywhere”所推荐的正是多少个放松身心的使用。

可是这里卡片的宏图自身又有观点了,你能猜到标题是足以点击,查看完整 List
列表的吧?第叁眼作者还觉得就唯有七个推荐吧。所以,把“查看全部”的行进点强化是越发有必不可少的。

 

How to/Tips/Deep Dive:关于 App 使用体验、技巧、深度体验的篇章

如图所示,那卡片的宏图就比楼上的 xx of The Day
合理许多,出色标题,并且将 App icon
单独在底层区块展现,更易于阅读和辨识。

卡片内容详情没什么好说的,去导航的安顿个性外具有沉浸感,排版、图片和摄像播放体验都很不利。在小说最终,会停放应用入口和一贯下载/购买行动点,终究那样详细的图像和文字介绍可比点击去应用详情页有趣、有效多了。



若果我们从语义上讲,用ExecuteScalar执行一条select * from table,只回去首行首列,看似还过的去,然实际不然。
事实上,前面包车型地铁ExecuteScalar,或是ExecuteNonQuery,内部都以调用的ExecuteDataReader来处理的,见如下代码即知:

更有层次感的嬉戏、App Tab

旧版的精品推荐页面设计得不得了单调,除了顶部的轮播 Banner
以外,就靠下边三个接3个的“泳道”体现 App。而且,旧版的 App
展现出了必需音讯(icon、标题、价格等)以外,就没有太多引导购物消息了。

就此,编辑精选的 App
到底幸好哪儿?新品有何样值得关切的地方?所谓的大作推荐,又如何询问越来越多应用细节?这个题材大家都不能够得知。

新版的界面设计和新闻显示很好地优化了以上难点。

透过大图 Banner、小图
List、分类分流三类组件的交错穿插,来形成有节奏感的页面阅读,能够缓解原本平淡页面中的视觉疲劳。同时,对于大卡片都会有一段表明文案,摄像会直接开始展览播放,而小图应用也都会有小段介绍。基本上,整个页面都以在贯彻内容透出这一个政策,让消费者知道为啥这一个使用是“好”的。

不足之处当然也有。首先整个页面一连了旧版大批量行使“左右横滑”的设计,在开辟页面空间的还要带来了可知性差、功能低等题材。其余和前几天Tab 类似,游戏/App 里也存在了同种消息二种公布的情景。

如下图所示,同样是接纳介绍,却使用了三种大感觉一致但细节又不相同的筹划。



 

强调内容的详情页

App
详情页在旧版中,首要担负了呈现应用本人新闻的法力:截图、介绍、更新日志等,即就是用户评价也位于二级页面。在新版中,首先对页面布局做了较大改变,把评分、排名、年龄分别放在了较优先的职务。

顺应多平台湾特务色,该行使假如也有 GALAXY Tab、电视机、沃特ch
版本,能够在下拉项中查看他们各自的截图。

3个不成难题是,查看其余平台截图的时候会1遍性在纵向全体进展,导致页面变的不短,下边的开发者、评价等剧情就更远了。考虑到用户大概只要查看某一个外加平台,借使采纳横向分
Tab 来显示,效能可能更高级中学一年级些:

旧版,页面下滑的时候会有一整个大区块停留在顶部,相当遮挡视线。以往新版把底部做小,既保险了随时四处能够下载使用,也保证了下边内容的透出。



图片 6 

一发非凡的用户评价

讲评内容被做得更大更卓越,终归那已经变为用户驾驭应用的二个绝佳渠道。然而页面上这一个“轻点评分”的安放有点纳闷,到底是对选择评分依旧对评价评分?即便花点花费现在能驾驭是对运用评分,但放在那么些地点极度简单误解以为和底下的评价卡片是一体的消息。

稍作改动之后就清楚很多:

其余,进入评价列表后尾部 Bar
就丢掉了,其实并不便于帮忙用户随时随地进行裁决,所以自身把它给加了归来:

页面最底部,是一个分流区块,有点类似国内电商 App
的猜你喜欢,对于浏览到结尾但还未曾决策流量来说,那是二个很好的谈话。但依然老难点,左右横滑效用太低,既然已经到了底层,纵向间接多摆放多少个又有哪些难题吗?也许至少,可以和首页的这多少个运用
List 一样,每一滑多突显一些用到。


申明分析: 

小结:

一 、内容化分发是一体市集的大趋势,中中原人民共和国到底那块的四驱,各大电商网站一两年前就早已开始了这一部分尝试:直播、内容号、达人推荐等等。百度、腾讯等选拔商场也很已经起来了“应用+”的转型。可是,得益于
iOS 的查封系列和高质量应用,今后的转型就算晚,但要么有空子做好做精。

② 、“左右横滑”一定要慎用,追求高逼格的下台就是用户根本不去接纳这么些组件;

叁 、对应市场型应用来说,“功能”是四个相当主要的对象。在成立的局面内,尽只怕在少的荧屏内透出多的始末、商品、应用,是省去用户的时刻。一味追求简单,有时以珠弹雀。

四 、消息结构一致性格外关键。在此以前自身也纠结过是“用分化的款式承载不相同的内容”,还是“用同一的款型承载分化的情节”,事实上,大家要让用户关怀音讯本人,而不是外在。所以,在筹划时,尽可能统一布局,能够大大降低用户知道花费。

以上,共勉。

以下是广告时间,不喜勿阅。


自个儿开通了:小密圈 –
镇雷的宏图作坊
,点击可查看

在用户体验与相互设计的世界里,作者恐怕是经历最浅的那一批。很几个人狐疑作者写的事物,觉得年轻如大家不应该咕哝不已发布对那些世界的见识。

对牛人来说,作者的观点是那么人微权轻。但对同龄人来说,与其一味追求设计极端的那多少人,比不上和自家壹头,选一群节奏几乎的伴儿共同升高。

小编许一年的时间,在此间你能够赢得:

* 行业专家帮助 Review 简历和文章集

* 新鲜的设计小文章和文章

* 解答、调换求职、职业发展的难题

* 别的或然与设计有关的方方面面

微软并不曾什么样特殊照顾,所以本来的言语,仍会到数据Curry,按语句的要求,并找出总体满足条件的数码流举行再次回到。
自然,值的心安理得的是,Data里德r是贰个流数据传输,它并不是2遍性传输全体数据,而是部分段传输。

 

个中笔者做了一个小测试,大体进度是那般的:

选择DataReader去读取数据再次来到三个SqlDataReader,然后断点,接着把数据库服务给停了,然后继续调节和测试,发现数目还是能够健康读取。
表达还未读取之时,部分数据就先通过管道把多少从数据库传输到程序的内部存款和储蓄器中了,后来按F5继续,读取前边就会抛进程管道已关门的失实。

 

总结:

正文表明两点接纳办法上的两点:

1: 本来是Top 1 的言辞,结果变成Select *,那两条语句在数额库端执行,质量的差距不说大伙也懂了。
2: ExecuteScalar固然是回到首行首列,但其实再次来到的是个Data里德r,假诺你询问的是列表,实际上内部存款和储蓄器传输了列表,只是最终你程序读取了列表中的第四个字节。
本来了,由于流的传输,并不二遍性传输全体,只是部分段传输,所以品质的损失并不是太鲜明。 

 

 

要写好底层框架,任重(英文名:rèn zhòng)而道远,望大家再接再励。 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图