孙悟空终于还是没有能逃脱如来的手掌心,因缘注定,皈依佛门。虽没有了做齐天大圣是的逍遥快活,也没有大闹天宫时的轰轰烈烈,可是如今有了更重要的一项任务。那就是普度众生,《 西游记》第五十七回,说是“六耳猕猴”化作孙悟空的摸样,伤了唐僧,后又和孙悟空大打出手。。。这位假孙悟空,实力不用多说了吧。和真孙悟空一般无二,大战孙悟空,闹到上天入地下海。
在唐僧那:念紧箍咒,两个都喊疼。自然看不出哪个真假。到天宫:拖塔天王拿照妖镜照。也看不出;又到观音那:观音也看不出。最后到幽冥处阎罗那:经“谛听”听过之后。“谛听”却说:“我看出来了,却不敢说”。最后还是如来老佛爷道出六耳真身并用金钵盂罩住,才被孙悟空一棍子打死。这是整个故事,看似非常easy。非常完整。只是,我发现一个天大的伏笔。
那就是,真假美猴王的故事和我们设计模式中的职责链模式有着异曲同工之妙,在面向对象程式设计里, 职责链模式是一种软件设计模式,它包括了一些命令对象和一系列的处理对象。每个处理对象决定它能处理哪些命令对象,它也知道怎样将它不能处理的命令对象传递给该链中的下一个处理对象。
该模式还描写叙述了往该处理链的末尾加入新的处理对象的方法。
官方定义---使多个对象都有机会处理请求。从而避免请求的发送者和接收者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理她为止。来看一下职责链模式的结构图:
在我们的实际生活中,我们也时常与职责链模式打着交道。比方类似“斗地主”这种游戏中。小北出牌给他的下家,下家看看手中的牌。假设要不起上家的牌则将出牌请求再转发给他的下家,其下家再进行推断。一个循环下来,假设其它人都要不起该牌。则小北能够打出新的牌。在这个过程中,牌作为一个请求沿着一条链在传递,每一位纸牌的玩家都能够处理该请求。
以我们上述真假美猴王的故事为例,看看我们的代码实现:
对于真假美猴王这块的内容。大家争论不一,在真假美猴王事出之前,孙悟空并不全然都听唐僧的话,甚至有时候。还闹个小矛盾,导致唐僧仅仅好念紧箍咒。典型的一个叛逆者形象。
可自从真假美猴王事出之后。孙悟空从此保护唐僧安安分分。
而以此事能够看出,孙悟空前后可判若两人。
不排除,孙悟空已被如来利用六耳猕猴一战中,安安静静、无人知晓的收服了。也有人说佛祖能通晓过去未来。早就设此考验,算到六耳猕猴必死于孙悟空手上,届时孙悟空就能战胜心魔。真正走上成仙之路。假设佛祖出手阻挡孙悟空的那一棍,保住六耳猕猴性命。那么设此考验又有何意义?这也说明了,孙悟空杀死六耳猕猴。彻底清除了自己内心的邪恶一面。从内心上懂得了成仙成佛的真正的道路。
所以在“真假美猴王”一难之后才会服服帖帖,真心为皈依佛门而保护唐僧。
西游记的故事还在演绎流传。设计模式的精彩稍后继续......