設計模式 行為型模式 中介者模式

2021-09-13 01:13:31 字數 2684 閱讀 8324

設計模式-行為型模式-中介者模式

劃分類和物件的職責。

進銷存管理,即採購,銷售,庫存。

其中類圖

**如下

public class purchase else 

}// 不再採購ibm電腦

public void refusebuyibm()

}

該purchase定義了採購電腦的標準。根據電腦的銷售情況,往庫存裡放入產品。如果銷售不好,則折半銷售。

另外定義了乙個不再採購ibm電腦。

庫存管理

public class stock

// 庫存降低

public void decrease(int number)

// 獲得庫存數量

public int getstocknumber()

// 通知銷售進行銷售

public void clearstock()

}

然後書寫銷售管理

public class sale

stock.decrase(number); // 銷售完成以後,清理庫存

}// 反饋銷售情況,根據銷售判斷是否折半

public int getsalestatus()

// 進行折半銷售

public void offsale()

}

最後繪製場景

違反迪公尺特。

增加中介者

// 抽象中介者

public abstract class abstractmediator

// 事件方法,處理多個物件之間的關係

public abstract void execute(string str, object...objects);

}

// 產生中介者

public class mediator extends abstractmediatorelse if(str.equals("sale sell"))else if(str.equals("sale offsell"))else if(str.equals("stock clear"))

}private void buycomputer(int number)else

}private void sellcomputer(int number)

super.stock.decrease(number);

}// 折半銷售電腦

private void offsell()

// 清倉處理

private void clearstock()

}

然後對同事進行抽象

public abstract class abstractcolleague

}

採購類

public class purchase extends abstractcolleague

// 採購電腦

public void buyibmcomputer(int number)

// 不在採購電腦

public void refusebuyibm()

}

對於庫存管理

public class stock extends abstractcolleague

// 剛剛開始電腦

private static int computer_number = 100;

// 庫存通知

public void increase(int number)

// 庫存降低

public void decrease(int number)

// 獲得庫存數量

public int getstocknumber()

// 存貨量多,不採購,進行銷售

public void clearstock()

}

銷售管理,類似不在闡述。

對於場景類進行修改如下

public class client

}

mvc,閘道器,乙個購物車栗子,需求為選擇顏色,並輸入購買數量,要求和從後台獲取到的庫存進行對比,在頁面顯示。思路,為三方,庫存資料,輸入資料,顯示結果,引入中介者,在中介者內部進行資料的判斷,並將結果輸出,如果此時需要增加新的選項,直接在中介者內部書寫業務**即可。

有中介者和同事類,中介者通過get和set方法將同事傳入,然後進行資料的交換,中介完成任務,然後同事類,通過構造方法將中介傳入,然後和中介進行交流,獲取資訊。

中介,get,set傳入同事,進行資料處理,交換。

同事,通過構造傳入,進行和中介通訊。

設計模式 行為型模式 中介者模式

抽象中介者 abstract class mediator 具體中介者 class concretemediator extends mediator 從列表框選擇客戶 else if c list 從組合框選擇客戶 else if c cb 抽象元件類 抽象同事類 abstract class c...

行為型模式 中介者模式

用於封裝一系列同事物件互動通訊之中間媒介,此模式可使各同事物件不需要以顯式直接作互動作用,從而使其達到解耦之目的,並可容易日後來改變它們之間的互動,一般應用於一組同事物件已被良好定義但須以複雜方式來進行互動通訊之場合中。類圖 示例 usr bin env python coding utf 8 im...

java行為設計模式 中介者模式

1 模式理解 現在最常見的應該是房屋中介了,或者職介所之類的,以前比較常見的應該是媒婆,信使等,就拿媒婆來說好了,媒婆給人牽線,那是什麼人呢,肯定一邊的女人,一邊是男人,男人跟女人之間通過媒婆來傳遞資訊,從而找到符合要求的另一半。說白了就是乙個物件要呼叫另乙個物件的方法,但是又不直接通個另乙個物件呼...