2015年4月10-11日,由51CTO传媒主办的WOT2015互联网运维与开发者大会在北京珠三角JW万豪酒店召开。秉承专注技术、服务技术人员的理念,自2012年以来,WOT品牌大会成功举办了五届,积累了大量的技术专家资源,获得了广大IT从业者和技术爱好者的一致认可,成为了业界重要的技术分享交流平台以及人脉拓展平台。
本次会议分为10个技术主题,分别是:数据库技术与应用,企业运维安全、运维自动化系统的构建、应用性能监测与管理、APP架构与运维、电商网站的高并发保障、游戏开发与运维、大数据与运维、云计算架构与运维、开源运维工具研发与实践。51CTO作为本次大会的主办方,将全程图文直播报道与后期视频展示这场盛宴。
下面是来自谷歌美国总部资深架构师李聪为大家分享《Asynchronous Dependency Injection》的精彩演讲。
李聪先生在演讲刚开始的时候,做了一个小小的广告,我们是搞Asynchronous,Dependency,Injection,有兴趣可以发我邮箱。之后,和大家探讨一下对异步DI***的期待值是什么样子的?
李聪先生分享里一段DI,里面有一些代码,不是特别多,但是讲的比较细致。主要的功能是叫做SK Angle,是给客户提供一个广告流,有一个公有函数,名字叫做Computer,如果调用这个公有函数的话,会给你返回一系列的广告,有什么样的,拿到内容去Show给用户。这个公有函数我省略了很多,***步我会生成一个LOG对象,我做这个广告计算的时候,我可能时不时的需要对这个计算结果,对这些做一些日志的记录,这个Computer code这一块我就省略掉了,***把计算的结果返回给客户端。
在***,李聪先生分享了一段代码,并且说这类business log是需要计算广告流的,而不需要关心我需要什么样的日志对象,这个根本不是他的业务,他的主营业务是说我要计算这个广告流在什么情况下我应该做什么样的log,这个其实应该是一个我拿过来就用的,这一段代码不是Computerlog。
那么有什么解决方案呢?刚才说我只要说在这个函数里面我要生成一个对象,就表明我对这个对象有依赖性。它的解决方案是dependency Injection,就是说最基本的原理是如果说我有一个依赖,那么,请把我这个依赖注入进来,不管这个依赖怎么来了,我来注入,你来搞定,这是我们现存的,而且有很多。
以上是51CTO.com记者从一线为您带来的精彩报道。后续我们还有更加精彩的独家报道,敬请关注。