23種java設計模式之外觀模式

2021-07-15 22:34:47 字數 1199 閱讀 9491

今天,我們就用乙個家庭影院專案來說明外觀模式。

家庭影院的專案分析:

對於每乙個物件,我們結合單例模式來做,因為這種系統每乙個物理實體其實都是乙個物件,不用new什麼的來完成,他進來本身就是乙個物件,物理實體直接單例就行了

接下來我給出某幾個物件的**,其他的就一樣的,就不必一一給出了:

燈光類:theaterlights 

public class theaterlights

public static theaterlights getinstance()

return instance;

}public void on()

public void off()

public void dim(int d)

public void bright()}

音響類:stereo

public class stereo

public static stereo getinstance()

return instance;

}public void on()

public void off()

public void setvolume(int vol)

public void addvolume()}}

.......

然後我們給出重點部分,外觀模式,這裡就相當於乙個遙控器,它為了控制這個系統,它需要引用前面給出的那些物件,例項要獲取到,然後用乙個函式呼叫很多前面的方法,也就是用乙個函式實現前面的一系列方法。

public class hometheate***cade

public void ready()

public void end()

public void play()

public void pause()}

最後測試test:

public class test }

總結:

外觀模式:提供了乙個統一的介面,來訪問子系統中一群功能相關介面,也可以通俗點說成乙個系統,你要做乙個動作,會涉及到很多物件,可以把它放在同乙個類裡呼叫。

JAVA的23種設計模式之外觀模式

迪公尺特法則 最少知識法則 乙個軟體實體應當盡可能少的與其他實體發生相互作用 package cn.fllday.facade public class 工商局 package cn.fllday.facade public class 稅務局 package cn.fllday.facade pu...

GOF23設計模式之外觀模式不使用外觀模式的實現

package com.bjsxt.cn.nofacade public inte ce 工商局 class 海淀區工商局 implements 工商局 package com.bjsxt.cn.nofacade public inte ce 稅務局 class 海淀區稅務局 implements ...

java設計模式之外觀

想要更好的理解一門技術,請編寫關於它的技術文件或者是部落格!思想不過是他人歸納出來的便於我們去理解,當真正有這種需求的時候也許你都不用思考就能想到使用什麼方法,而不是木訥的使用。例如老闆想為公司的產品打造統一的平台,這就完全符合了外觀設計模式 言歸正傳,我們公司有乙個部門叫做總裁辦,當公司需要辦事的...