生活随笔
收集整理的這篇文章主要介紹了
设计模式 外观模式 一键电影模式
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/lmj623565791/article/details/25837275
這個模式比較簡單,嘿嘿,簡單寫一下。
老樣子,先看?外觀模式(Facade Pattern)定義:提供一個統(tǒng)一的接口,用來訪問子系統(tǒng)中的一群接口,外觀定義了一個高層的接口,讓子系統(tǒng)更容易使用。其實(shí)就是為了方便客戶的使用,把一群操作,封裝成一個方法。
舉個例子:我比較喜歡看電影,于是買了投影儀、電腦、音響、設(shè)計了房間的燈光、買了爆米花機(jī),然后我想看電影的時候,我需要:
1、打開爆米花機(jī)
2、制作爆米花
3、將燈光調(diào)暗
4、打開投影儀
5、放下投影儀投影區(qū)
6、打開電腦
7、打開播放器
8、將播放器音調(diào)設(shè)為環(huán)繞立體聲
...
尼瑪,花了一筆錢,看電影還要這么多的步驟,太累了,而且看完還要一個一個關(guān)掉。
所有,我們使用外觀模式解決這些復(fù)雜的步驟,輕松享受電影:
[java] view plaincopy
package?com.zhy.pattern.facade;????public?class?HomeTheaterFacade??{??????private?Computer?computer;??????private?Player?player;??????private?Light?light;??????private?Projector?projector;??????private?PopcornPopper?popper;????????public?HomeTheaterFacade(Computer?computer,?Player?player,?Light?light,?Projector?projector,?PopcornPopper?popper)??????{??????????this.computer?=?computer;??????????this.player?=?player;??????????this.light?=?light;??????????this.projector?=?projector;??????????this.popper?=?popper;??????}????????public?void?watchMovie()??????{?????????????????????????????popper.on();??????????popper.makePopcorn();??????????light.down();??????????projector.on();??????????projector.open();??????????computer.on();??????????player.on();??????????player.make3DListener();??????}????????????public?void?stopMovie()??????{??????????popper.off();??????????popper.stopMakePopcorn();??????????light.up();??????????projector.close();??????????projector.off();??????????player.off();??????????computer.off();??????}??}??
可以看到,我們定義了一個類,然后可以讓我一鍵享受看電影了,看完,一鍵關(guān)閉,享受多了。
外觀模式:一般用于需要簡化一個很大的接口,或者一群復(fù)雜的接口的時候。
這個模式比較容易理解,就不多說了,最后附上類圖:
好了,恭喜你,你又學(xué)會了一個設(shè)計模式,外觀模式(Facade Pattern)。
總結(jié)
以上是生活随笔為你收集整理的设计模式 外观模式 一键电影模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。