天天看點

職責鍊模式之真假美猴王

        那就是,真假美猴王的故事和我們設計模式中的職責鍊模式有着異曲同工之妙,在面向對象程式設計裡, 職責鍊模式是一種軟體設計模式,它包含了一些指令對象和一系列的處理對象。每一個處理對象決定它能處理哪些指令對象,它也知道如何将它不能處理的指令對象傳遞給該鍊中的下一個處理對象。該模式還描述了往該處理鍊的末尾添加新的處理對象的方法。官方定義---使多個對象都有機會處理請求,進而避免請求的發送者和接收者之間的耦合關系,将這個對象連成一條鍊,并沿着這條鍊傳遞該請求,直到有一個對象處理她為止。來看一下職責鍊模式的結構圖:

職責鍊模式之真假美猴王

      在我們的實際生活中,我們也時常與職責鍊模式打着交道,比如類似“鬥地主”這樣的遊戲中,小北出牌給他的下家,下家看看手中的牌,如果要不起上家的牌則将出牌請求再轉發給他的下家,其下家再進行判斷。一個循環下來,如果其他人都要不起該牌,則小北可以打出新的牌。在這個過程中,牌作為一個請求沿着一條鍊在傳遞,每一位紙牌的玩家都可以處理該請求。以我們上述真假美猴王的故事為例,看看我們的代碼實作:

       對于真假美猴王這塊的内容,大家争論不一,在真假美猴王事出之前,孫悟空并不完全都聽唐僧的話,甚至有時候,還鬧個小沖突,導緻唐僧隻好念緊箍咒,典型的一個叛逆者形象。可自從真假美猴王事出之後,孫悟空從此保護唐僧安安分分。而以此事可以看出,孫悟空前後可判若兩人。不排除,孫悟空已被如來利用六耳猕猴一戰中,安安靜靜、無人知曉的收服了。也有人說佛祖能通曉過去未來,早就設此考驗,算到六耳猕猴必死于孫悟空手上,屆時孫悟空就能戰勝心魔,真正走上成仙之路。如果佛祖出手阻擋孫悟空的那一棍,保住六耳猕猴性命,那麼設此考驗又有何意義?這也說明了,孫悟空殺死六耳猕猴,徹底清除了自己内心的邪惡一面,從内心上懂得了成仙成佛的真正的道路。是以在“真假美猴王”一難之後才會服服帖帖,真心為皈依佛門而保護唐僧。

       西遊記的故事還在演繹流傳,設計模式的精彩稍後繼續......

繼續閱讀