摘要:
裝飾者模式就好比一個個wrapper(包裝器),將一個對象一層層的包裝,然后返回包裝后的對象,就好比你在網上購買了一個電飯鍋,那么這個電飯鍋就是最原始的對象,而商家可能會在發貨時進行一個初步包裝,首先將電飯鍋用一層泡沫包起來,然后裝入一個紙箱,接著交給快遞公司,然后快遞公司收到這個物品后,還要進行二次包裝,即使用快遞公司專門的盒子裝起來(或者用麻袋裝好),然后貼上膠布開始運輸,客戶收到的這個箱子自后,一層層解開包裝,最后拿出電飯鍋。那么所有包裝這個電飯鍋的東西,像泡沫啊,紙箱啊,盒子啊,膠布啊,都可以算作裝飾者,裝飾者將原來的對象裝飾完之后,會生成一個裝飾后的對象,使源對象加上各種裝飾品。所以,既然裝飾者依賴于被裝飾的對象,那么,裝飾者在實現時就理所當然需要一個被裝飾的對象的引用了,然后裝飾完之后該引用就會指向裝飾后的對象了。 閱讀全文
posted @ 2012-07-25 09:27
everdom
閱讀(246)
評論(0)
推薦(1)
摘要:
觀察者模式首先定義了一個被觀察者,然后讓很多的觀察者訂閱被觀察者,而被觀察者在自己的狀態有了更新時向所有的觀察者“推送”自己的狀態信息,從而使所有的觀察者都得到通知。其實這個模式讓人很容易想到當前一種最為潮流的互聯網應用:微博。就拿微博為例,每一個人都可以是觀察者與被觀察者兩種身份,當你關注別人的時候,比如你的一個朋友小羅,你就成為了小羅的粉絲,就相當于此時小羅為被觀察者,而你自己是觀察者身份,你訂閱了被觀察者,使被觀察者在自己狀態發生改變時會及時通知你。比如小羅今天去旅游,他將照片發到了微博上,這樣你就能及時的看到他的動態了。而且不只是你,他所有的粉絲都能看到他的動態了。而當你的另外一個朋友,比如小楊關注了你,這樣你就成為了被觀察者,而小楊就是觀察者,當你在微博上的個人中心上發狀態時,小楊就能實時看到你的狀態了,或者會對你的狀態進行評論。所以,Observer模式很容易理解。 閱讀全文
posted @ 2012-07-25 09:22
everdom
閱讀(262)
評論(0)
推薦(0)

浙公網安備 33010602011771號