外觀模式是為了解決類與類之家的依賴關係的,像spring一樣,可以將類和類之間的關係配置到配置檔案中,而外觀模式就是將他們的關係放在乙個facade類中,降低了類類之間的耦合度,該模式中沒有涉及到介面,看下類圖:(我們以乙個計算機的啟動過程為例)
我們先看下實現類:
public
class cpu
public
void
shutdown()
} public
class memory
public
void
shutdown()
}public
class disk
public
void
shutdown()
} public
class computer
public
void
startup()
public
void
shutdown()
}
user類如下:
public
class user
}
輸出:
start the computer!
cpu startup!
memory startup!
disk startup!
start computer finished!
begin to close the computer!
cpu shutdown!
memory shutdown!
disk shutdown!
computer closed!
如果我們沒有computer類,那麼,cpu、memory、disk他們之間將會相互持有例項,產生關係,這樣會造成嚴重的依賴,修改乙個類,可能會帶來其他類的修改,這不是我們想要看到的,有了computer類,他們之間的關係被放在了computer類裡,這樣就起到了解耦的作用,這,就是外觀模式!
java中23種設計模式
總體來說設計模式分為三大類 建立型模式,共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。結構型模式,共七種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式。行為型模式,共十一種 策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 命令模式 備忘錄模式...
Java中的23種設計模式
factory 工廠模式 builder 建造模式 factory method 工廠方法模式 prototype 原始模型模式 singleton 單例模式 facade 門面模式 adapter 介面卡模式 bridge 橋梁模式 composite 合成模式 decorator 裝飾模式 fl...
java開發的23種設計模式(二)
考慮到如果使用工廠模式,那麼每增加乙個類,就要在工廠類中增加對應的方法,十分不利於 的擴充套件,所以有抽象工廠模式,實體類依然使用之前的實體類 首先 建立介面pet 包含public方法eat public inte ce pet 之後,建立dog類實現pet介面。public class dog ...