p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 }
span.s1 { font: 12.0px "Helvetica Neue" }
一、观察者图例
二、小说
第零章 序
十年一剑情如梦,赢得生前身后名。
不知何年。只知临近八月,天有恶龙而多暴雨,地有恶鬼而多冤魂。江湖之中,征战纷纷,风雨飘摇。
华山掌门乌鱼子和嵩山掌门蛙奇,不日将会面于嵩山天下第一武道会,争夺最后的天下第一。
第一章 练剑
华山之巅,丹崖怪石,削壁奇峰,日浮于云,仙气飘飘。忽闻剑气之声,一人一声巨喝,又一声巨响,只见剑劈石裂,花火四溅。何人如此练剑?观之,此人身长八尺,约摸花甲之年,面若童颜,乃华山掌门乌鱼子是矣。
“最近在江湖中淘得一本武学残卷。此处无人,正好偷练。”乌鱼子自言自语道。
第二章 二痴
话说江湖之中,人人皆知嵩山有二奇人,嵩山本门之人称嵩山二侠,江湖之中戏称“嵩山二痴”或“嵩山二傻”。那是何二人?一人剑法拳法狗屁不通,十八般兵器全然不会,却练的个耳聪目明,身轻如燕的本事,专门做些偷鸡摸狗的勾当,这便是嵩山首徒欧不色武。另一奇人,幼年贫困,又被板砖所伤,无钱医治,导致筋脉错乱,突发异能,脑容极大,可存天下奇闻,却无比老实木讷,有问必答,无问必不答,这便是嵩山二徒地普。
此时华山掌门乌鱼子练剑,自以为无人看见,却不料欧不色武藏于暗影之中,偷偷观察,仔细记忆。
欧不色武不通剑法,不明剑理,看乌鱼子练剑又有何用?原来在嵩山之中,有两门武艺最为高明。一门武艺乃嵩山剑法,可惜后人无继,此时已有名无实;另一门武艺名曰“提防婆婆题”,此功甚是奇妙,非拳非脚,非刀非剑,乃将全身内力集中于脑,以致过目不忘,记忆过人。人皆问:为何取名“提防婆婆题”?是为提房婆婆出算术题?或是写此功夫者,名曰提房婆婆,最后题个名,所以叫“提房婆婆题”?具体已不可考。
欧不色武每日白天观察乌鱼子练剑,每发现乌鱼子有所变化,便集中精神,运“提防婆婆题”功记忆之。又于夜色离去,将乌鱼子之变化细细告知地普。
第三章 偷剑
地普脑容极大,又老老实实。每日嵩山掌门蛙奇问之,华山剑法如何如何,华山掌门乌鱼子又如何如何,地普便将乌鱼子之所作所为一一道来。乌鱼子练了“白虹贯日”,地普便说:“练了白虹贯日”,乌鱼子练了“太岳三清风”,地普便说:“练了太岳三清风”。乌鱼子减肥了,地普便说:“减肥了”。乌鱼子胡子掉了,地普便说:“胡子掉了”。蛙奇给了乌鱼子一耳光,说:“胡子掉了你跟我说什么,说武功!”
蛙奇每日听得地普言语,而后,勤练乌鱼子所练之武功,觉乌鱼子剑法之妙,已是嵩山剑法不可及。“这个傻逼不知从哪里淘到的神奇武学,”蛙奇暗暗惊叹,“却有一部分,感觉不甚清楚。”蛙奇懊恼。
第四章 比剑
转眼之间,八月有八。天下第一武道会已至。天空电闪雷鸣而无雨,大地暗黑阴冷而无风。嵩山之上,人山人海。嵩山擂台高地三尺,乌鱼子与蛙奇站于擂台之上,余下之人皆围于擂台四周。本来如此多人,应是人声鼎沸,此时却是鸦雀无声,所有人的目光都聚集在擂台之上。
只听“嗡”一声,乌鱼子与蛙奇同时出剑。两人相斗,剑花交锋。观之两人之招式,一会儿气象森严,便似千军万马奔驰而来,长枪大戟,黄沙千里;一会儿轻灵机巧,恰如春日双燕飞舞柳间,高低左右,回转如意。众人之中,或不明剑理,或剑法未有此等境界,只觉这二人剑法精美,妙不可言。却有数人突然发出“咦”的一声,为何华山剑和嵩山剑都是同样的招式?
乌鱼子亦是惊奇万分,为何我所练之剑,和嵩山这个老贼一模一样?难道我练剑之时,有人偷看?只有蛙奇淡定自若,将剑法一一使来。如此下去,若蛙奇针对乌鱼子之剑法,突然变招,乌鱼子如何承受得了?
第五章 胡子
两片柳剑有见机,一来一往无丝缝。两人斗得三百余合不分胜负,各自退后两步,站住阵脚。
突然,蛙奇一口红血,众人观之,只见蛙奇面色惨白,双手颤抖,须臾之间便倒下了。
“我所练之剑法,和你一模一样,为何败的是我。”蛙奇痛哭道。
“你派人监视我之所学,却不见我身体之变化。”乌鱼子摸了摸下巴,只见乌鱼子的胡须已经几乎掉光了。
“你...”
“是的,若练此功...”乌鱼子谄媚一笑。
三、总结
小说中,乌鱼子(View)所练的剑法便是View层所对应的数据变化。欧不色武(Observer)指的是一个监听器,通过提防婆婆题(DefineProperty)监听数据变化。地普(Dep)是一个观察者列表,专门收集(蛙奇)Watcher所想监听的数据,当劫持到数据变更的时候,通过回调通知订阅者Watcher进行update操作。
Watcher决定了需要监听哪些数据(武功),他不关心的问题不监听(如胡须的问题)。当然这里也有个分模块监听的问题。
当然,拿小说中的文字和观察者模式一一对应是不现实的,小说就是写着好玩啦!
原文地址:https://www.cnblogs.com/wujinpeter/p/9443779.html