描述
外觀模式(Façade pattern)涉及到子系統(tǒng)的一些類。所謂子系統(tǒng),是為提供一系列相關(guān)的特征(功能)而緊密關(guān)聯(lián)的一組類。例如,一個(gè)Account類、Address類和CreditCard類相互關(guān)聯(lián),成為子系統(tǒng)的一部分,提供在線客戶的特征。
在真實(shí)的應(yīng)用系統(tǒng)中,一個(gè)子系統(tǒng)可能由很多類組成。子系統(tǒng)的客戶為了它們的需要,需要和子系統(tǒng)中的一些類進(jìn)行交互。客戶和子系統(tǒng)的類進(jìn)行直接的交互會(huì)導(dǎo)致客戶端對(duì)象和子系統(tǒng)之間高度耦合。任何的類似于對(duì)子系統(tǒng)中類的接口的修改,會(huì)對(duì)依靠于它的所有的客戶類造成影響。
外觀模式(Façade pattern)很適用于在上述情況。外觀模式(Façade pattern)為子系統(tǒng)提供了一個(gè)更高層次、更簡(jiǎn)單的接口,從而降低了子系統(tǒng)的復(fù)雜度和依靠。這使得子系統(tǒng)更易于使用和治理。
外觀是一個(gè)能為子系統(tǒng)和客戶提供簡(jiǎn)單接口的類。當(dāng)正確的應(yīng)用外觀,客戶不再直接和子系統(tǒng)中的類交互,而是與外觀交互。外觀承擔(dān)與子系統(tǒng)中類交互的責(zé)任。實(shí)際上,外觀是子系統(tǒng)與客戶的接口,這樣外觀模式降低了子系統(tǒng)和客戶的耦合度。
我們可以看到:外觀對(duì)象隔離了客戶和子系統(tǒng)對(duì)象,從而降低了耦合度。當(dāng)子系統(tǒng)中的類進(jìn)行改變時(shí),客戶端不會(huì)像以前一樣受到影響。
盡管客戶使用由外觀提供的簡(jiǎn)單接口,但是當(dāng)需要的時(shí)候,客戶端還是可以視外觀不存在,直接訪問(wèn)子系統(tǒng)中的底層次的接口。這種情況下,它們之間的依靠/耦合度和原來(lái)一樣。
讓我們建立一個(gè)應(yīng)用:
(1) 接受客戶的具體資料(賬戶、地址和信用卡信息)
(2) 驗(yàn)證輸入的信息
(3) 保存輸入的信息到相應(yīng)的文件中。
這個(gè)應(yīng)用有三個(gè)類:Account、Address和CreditCard。每一個(gè)類都有自己的驗(yàn)證和保存數(shù)據(jù)的方法。
描述
外觀模式(Façade pattern)涉及到子系統(tǒng)的一些類。所謂子系統(tǒng),是為提供一系列相關(guān)的特征(功能)而緊密關(guān)聯(lián)的一組類。例如,一個(gè)Account類、Address類和CreditCard類相互關(guān)聯(lián),成為子系統(tǒng)的一部分,提供在線客戶的特征。
在真實(shí)的應(yīng)用系統(tǒng)中,一個(gè)子系統(tǒng)可能由很多類組成。子系統(tǒng)的客戶為了它們的需要,需要和子系統(tǒng)中的一些類進(jìn)行交互。客戶和子系統(tǒng)的類進(jìn)行直接的交互會(huì)導(dǎo)致客戶端對(duì)象和子系統(tǒng)之間高度耦合。任何的類似于對(duì)子系統(tǒng)中類的接口的修改,會(huì)對(duì)依靠于它的所有的客戶類造成影響。
外觀模式(Façade pattern)很適用于在上述情況。外觀模式(Façade pattern)為子系統(tǒng)提供了一個(gè)更高層次、更簡(jiǎn)單的接口,從而降低了子系統(tǒng)的復(fù)雜度和依靠。這使得子系統(tǒng)更易于使用和治理。
外觀是一個(gè)能為子系統(tǒng)和客戶提供簡(jiǎn)單接口的類。當(dāng)正確的應(yīng)用外觀,客戶不再直接和子系統(tǒng)中的類交互,而是與外觀交互。外觀承擔(dān)與子系統(tǒng)中類交互的責(zé)任。實(shí)際上,外觀是子系統(tǒng)與客戶的接口,這樣外觀模式降低了子系統(tǒng)和客戶的耦合度。
我們可以看到:外觀對(duì)象隔離了客戶和子系統(tǒng)對(duì)象,從而降低了耦合度。當(dāng)子系統(tǒng)中的類進(jìn)行改變時(shí),客戶端不會(huì)像以前一樣受到影響。
盡管客戶使用由外觀提供的簡(jiǎn)單接口,但是當(dāng)需要的時(shí)候,客戶端還是可以視外觀不存在,直接訪問(wèn)子系統(tǒng)中的底層次的接口。這種情況下,它們之間的依靠/耦合度和原來(lái)一樣。
讓我們建立一個(gè)應(yīng)用:
(1) 接受客戶的具體資料(賬戶、地址和信用卡信息)
(2) 驗(yàn)證輸入的信息
(3) 保存輸入的信息到相應(yīng)的文件中。
這個(gè)應(yīng)用有三個(gè)類:Account、Address和CreditCard。每一個(gè)類都有自己的驗(yàn)證和保存數(shù)據(jù)的方法。
描述
外觀模式(Façade pattern)涉及到子系統(tǒng)的一些類。所謂子系統(tǒng),是為提供一系列相關(guān)的特征(功能)而緊密關(guān)聯(lián)的一組類。例如,一個(gè)Account類、Address類和CreditCard類相互關(guān)聯(lián),成為子系統(tǒng)的一部分,提供在線客戶的特征。
在真實(shí)的應(yīng)用系統(tǒng)中,一個(gè)子系統(tǒng)可能由很多類組成。子系統(tǒng)的客戶為了它們的需要,需要和子系統(tǒng)中的一些類進(jìn)行交互。客戶和子系統(tǒng)的類進(jìn)行直接的交互會(huì)導(dǎo)致客戶端對(duì)象和子系統(tǒng)之間高度耦合。任何的類似于對(duì)子系統(tǒng)中類的接口的修改,會(huì)對(duì)依靠于它的所有的客戶類造成影響。
外觀模式(Façade pattern)很適用于在上述情況。外觀模式(Façade pattern)為子系統(tǒng)提供了一個(gè)更高層次、更簡(jiǎn)單的接口,從而降低了子系統(tǒng)的復(fù)雜度和依靠。這使得子系統(tǒng)更易于使用和治理。
外觀是一個(gè)能為子系統(tǒng)和客戶提供簡(jiǎn)單接口的類。當(dāng)正確的應(yīng)用外觀,客戶不再直接和子系統(tǒng)中的類交互,而是與外觀交互。外觀承擔(dān)與子系統(tǒng)中類交互的責(zé)任。實(shí)際上,外觀是子系統(tǒng)與客戶的接口,這樣外觀模式降低了子系統(tǒng)和客戶的耦合度。
我們可以看到:外觀對(duì)象隔離了客戶和子系統(tǒng)對(duì)象,從而降低了耦合度。當(dāng)子系統(tǒng)中的類進(jìn)行改變時(shí),客戶端不會(huì)像以前一樣受到影響。
盡管客戶使用由外觀提供的簡(jiǎn)單接口,但是當(dāng)需要的時(shí)候,客戶端還是可以視外觀不存在,直接訪問(wèn)子系統(tǒng)中的底層次的接口。這種情況下,它們之間的依靠/耦合度和原來(lái)一樣。
讓我們建立一個(gè)應(yīng)用:
(1) 接受客戶的具體資料(賬戶、地址和信用卡信息)
(2) 驗(yàn)證輸入的信息
(3) 保存輸入的信息到相應(yīng)的文件中。
這個(gè)應(yīng)用有三個(gè)類:Account、Address和CreditCard。每一個(gè)類都有自己的驗(yàn)證和保存數(shù)據(jù)的方法。
描述
外觀模式(Façade pattern)涉及到子系統(tǒng)的一些類。所謂子系統(tǒng),是為提供一系列相關(guān)的特征(功能)而緊密關(guān)聯(lián)的一組類。例如,一個(gè)Account類、Address類和CreditCard類相互關(guān)聯(lián),成為子系統(tǒng)的一部分,提供在線客戶的特征。
在真實(shí)的應(yīng)用系統(tǒng)中,一個(gè)子系統(tǒng)可能由很多類組成。子系統(tǒng)的客戶為了它們的需要,需要和子系統(tǒng)中的一些類進(jìn)行交互。客戶和子系統(tǒng)的類進(jìn)行直接的交互會(huì)導(dǎo)致客戶端對(duì)象和子系統(tǒng)之間高度耦合。任何的類似于對(duì)子系統(tǒng)中類的接口的修改,會(huì)對(duì)依靠于它的所有的客戶類造成影響。
外觀模式(Façade pattern)很適用于在上述情況。外觀模式(Façade pattern)為子系統(tǒng)提供了一個(gè)更高層次、更簡(jiǎn)單的接口,從而降低了子系統(tǒng)的復(fù)雜度和依靠。這使得子系統(tǒng)更易于使用和治理。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注