最近看《程序员的思维修炼》,觉得其中有关右脑以及隐喻颇为有趣,故有了此篇随想...嘻嘻,貌似书中说的颇有道理。书写就像演讲一样,是个不错的思维工具。
关于委托。
貌似大家最爱说它是类型安全的函数指针,何为类型安全?自然是指GC这个奶妈托管的,指针自然不是托管的,也就是不是安全的类型。有位园友把GC比成体制,GC外就是体制外,真是精辟。既然不能在体制内,只要传递指针,那就是只能包成安全的,包装盒自然也就有规定的规格,你总不能把一个大象装在火柴盒中,方法签名的意义就在于此,同时,火柴盒不光能装火柴,只要大小合适,装个曲别针也是可以的。Combine有个外号叫+=,它像一个竹签,把所有的注册方法串成一串糖葫芦,只要一个接着一个的吃掉,也就不担心会有糖葫芦撑满嘴,或者竹签戳了嘴。
关于同步,异步
银行办业务,大部分情况都要排队,因为人多啊,一个窗口只能处理一个人,别人办理的时候你的号没到,你挤到人家身边试试,想偷窥密码还是想打劫啊?扯远了,等着吧,业务员总会喊到你的号,轮到你的。
当然,如果身份证丢了,去公安局户籍处补办身份证又不一样,虽然人一样的多,人家肯定让你交了钱,照了相,留下地址了事,你还想立马取?没有后门您就老实等着吧,半个月后,如果办好了,人家会按照你留下的地址快递给你的。好处是,您该干嘛干嘛去,请一天就是一天假的钱啊,耗不起,人民JC也能快速处理一个又一个补身份证的倒霉蛋。
左脑是同步模式,负责逻辑,局部,语言,线性,是短时间的易感知存在的和使用的前台线程,是推理,理性;
右脑是异步模式,负责联想,整体,图像,类比和跳跃,是执行长时间的后台线程,是直觉,感性。
右脑是表上的多索引,建立一条信息,较为费力,需要存储各种情景,上下文,但支持各种参数和线索的查询,不容易遗忘。
关于池子
池子空的时候没有水,满了会溢出,就像月亮圆了会缺, 池子是集合,是Buffer,是ThreadPool,是Cache,是食堂餐盘收回处的托架。食堂师傅无法应付高峰时段的就餐人流,只好在收回出放托架,效果很好,师傅忙了就先不理它,空闲了就从托架上去一下处理。可以往池子里放水,你不知道它到底在池子的什么地方,但它总会在池子里;可以从池子中出水,大部分时间两个水管总是要比一个水管出水要快。当然,池子可以是污水池,也可以酒池,泛型的池子,不会贴上永游泳池的标签,貌似大家都知道一个道理:最好不要把一个池子既当粪池,又当泳池。
请求和响应
餐馆就在那里(endpoint),不动不跑。
如果人家只卖清真(php),貌似你是点不到回锅肉的,服务员还会说;你有病啊.
我说:来个土豆丝。
服务员:有,200块,马上来。(不贵啊),速度真快,一会就端上来了,一看是提前做好贮备的...
我说:服务员,我来点儿羊肉串吧
服务员:虽然我们不买,不过,门口有卖,可以一起结帐的,我帮你点。(多好的服务员啊)
我哥们说:再来个大腰子吧,多放孜然少放辣椒!等等,还要打包...(事儿真多)
我哥们说:来瓶茅台吧,(同志..您又不是老板,也不是领导...合适么)
果然,服务员看了一样我哥们胸前的码奴牌:不是大表哥,也不是五道杠,你爸又不是李刚,还想喝茅台?
另外一个哥们说:来两斤熊掌!(没有买卖,就没有杀害啊,同志..)
服务员说:这个真没有!