Chapter 12 外观模式
外觀模式:為子系統(tǒng)中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個模式使得這一子系統(tǒng)更加容易使用。
外觀模式三個階段:
首先,在設(shè)計初期階段,應(yīng)該要有意識的將不同的兩個層分離。
其次,在開發(fā)階段,子系統(tǒng)往往因為不斷的重構(gòu)演化而變得越來越復(fù)雜,增加外觀可以提供一個簡單的接口,減少他們之間的依賴。
最后,在維護(hù)一個遺留的大型系統(tǒng)時,可能這個系統(tǒng)已經(jīng)非常難以維護(hù)和擴(kuò)展了,可以為系統(tǒng)開發(fā)一個外觀類。
示例代碼如下:
package xiao;
class Fund{
?? ?private Stock2 stock2;
?? ?private Stock3 stock3;
?? ?private Stock1 stock1;
?? ?public Fund(){
?? ??? ?this.stock1 = new Stock1();
?? ??? ?this.stock2 = new Stock2();
?? ??? ?this.stock3 = new Stock3();
?? ?}
?? ?public void BuyFund(){
?? ??? ?stock1.buy();
?? ??? ?stock2.buy();
?? ??? ?stock3.buy();
?? ?}
?? ?public void SellFund(){
?? ??? ?stock1.sell();
?? ??? ?stock2.sell();
?? ??? ?stock3.sell();
?? ?}
}
class Stock1{
?? ?public void buy(){
?? ??? ?System.out.println("buy stock one!");
?? ?}
?? ?public void sell(){
?? ??? ?System.out.println("sell stock one!");
?? ?}
}
class Stock2{
?? ?public void buy(){
?? ??? ?System.out.println("buy stock two!");
?? ?}
?? ?public void sell(){
?? ??? ?System.out.println("sell stock two!");
?? ?}
}
class Stock3{
?? ?public void buy(){
?? ??? ?System.out.println("buy stock three!");
?? ?}
?? ?public void sell(){
?? ??? ?System.out.println("sell stock three!");
?? ?}
}
public class abc {
?? ?public static void main(String[] args) {
?? ??? ?Fund jijin = new Fund();
?? ??? ?jijin.BuyFund();
?? ??? ?jijin.SellFund();
?? ?}
}
轉(zhuǎn)載于:https://www.cnblogs.com/tuifeideyouran/p/3734138.html
總結(jié)
以上是生活随笔為你收集整理的Chapter 12 外观模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp.net权限控制配置web.con
- 下一篇: SP2010开发和VS2010专家食谱-