設計模式之Mediator(中介者)這樣理解 對嗎?
設計模式初學者!向大家請教了!
最近在看BAND老師的設計模式,看了設計模式之Mediator(中介者)這個文章,中介者,自己寫了個簡單的例子,這個例子主要是為了理解這個設計模式,同時,想請教一下大家如何提高設計能力!我這個程式碼可以如何改進,期待大家的指正!謝謝!
程式碼如下:
package org.behavior.mediator;
public interface Mediator {
public void register(Colleague c);//其它人要同中介聯絡,註冊自己
}
package org.behavior.mediator;
public class Colleague {
protected Mediator mediator;
public Mediator getMediator() {
return mediator;
}
public void setMediator(Mediator mediator) {
this.mediator = mediator;
this.mediator.register(this);
}
}
//一個買票的中介,一票難求
package org.behavior.mediator;
import java.util.ArrayList;
public class TicketMediator implements Mediator {
//member list 這個變數放在這不太合適?
ArrayList memberList;
ArrayList ticketList;
public TicketMediator() {
memberList = new ArrayList();
ticketList = new ArrayList();
}
public void register(Colleague c) {
memberList.add(c);
}
public synchronized String buyTicket() {
if (ticketList.size() > 0) {
return (String) ticketList.remove(ticketList.size() - 1);
}
return "";
}
public synchronized void sellTicket(String ticket) {
ticketList.add(ticket);
}
}
//我是賣票的,NB
package org.behavior.mediator;
public class ConcreteColleagueSeller extends Colleague {
public void sell()
{
((TicketMediator) this.mediator).sellTicket("bj-sh");
}
public String toString() {
return "ConcreteColleagueSeller";
}
}
//我要回家
package org.behavior.mediator;
public class ConcreteColleagueBuyer extends Colleague {
public void buy() {
String ticket = ((TicketMediator) this.mediator).buyTicket();
if ("".equals(ticket)) {
System.out.println("sorry!");
} else {
System.out.println("Lucky One! < "+ticket+" >");
}
}
public String toString() {
return "ConcreteColleagueBuyer";
}
}
歡迎拍磚啊!謝謝
最近在看BAND老師的設計模式,看了設計模式之Mediator(中介者)這個文章,中介者,自己寫了個簡單的例子,這個例子主要是為了理解這個設計模式,同時,想請教一下大家如何提高設計能力!我這個程式碼可以如何改進,期待大家的指正!謝謝!
程式碼如下:
package org.behavior.mediator;
public interface Mediator {
public void register(Colleague c);//其它人要同中介聯絡,註冊自己
}
package org.behavior.mediator;
public class Colleague {
protected Mediator mediator;
public Mediator getMediator() {
return mediator;
}
public void setMediator(Mediator mediator) {
this.mediator = mediator;
this.mediator.register(this);
}
}
//一個買票的中介,一票難求
package org.behavior.mediator;
import java.util.ArrayList;
public class TicketMediator implements Mediator {
//member list 這個變數放在這不太合適?
ArrayList memberList;
ArrayList ticketList;
public TicketMediator() {
memberList = new ArrayList();
ticketList = new ArrayList();
}
public void register(Colleague c) {
memberList.add(c);
}
public synchronized String buyTicket() {
if (ticketList.size() > 0) {
return (String) ticketList.remove(ticketList.size() - 1);
}
return "";
}
public synchronized void sellTicket(String ticket) {
ticketList.add(ticket);
}
}
//我是賣票的,NB
package org.behavior.mediator;
public class ConcreteColleagueSeller extends Colleague {
public void sell()
{
((TicketMediator) this.mediator).sellTicket("bj-sh");
}
public String toString() {
return "ConcreteColleagueSeller";
}
}
//我要回家
package org.behavior.mediator;
public class ConcreteColleagueBuyer extends Colleague {
public void buy() {
String ticket = ((TicketMediator) this.mediator).buyTicket();
if ("".equals(ticket)) {
System.out.println("sorry!");
} else {
System.out.println("Lucky One! < "+ticket+" >");
}
}
public String toString() {
return "ConcreteColleagueBuyer";
}
}
歡迎拍磚啊!謝謝
相關文章
- JAVA設計模式之 中介者模式【Mediator Pattern】Java設計模式
- 設計模式--中介者模式Mediator(行為型)設計模式
- Rust語言之GoF設計模式:中介者Mediator模式RustGo設計模式
- 設計模式的征途—22.中介者(Mediator)模式設計模式
- 中介者模式(Mediator Pattern)。模式
- Objective-C設計模式——中介者Mediator(物件去耦)Object設計模式物件
- 設計模式系列之中介者模式(Mediator Pattern)——協調多個物件之間的互動設計模式物件
- 設計模式系列之「中介者模式」設計模式
- 軟體設計模式系列之十九——中介者模式設計模式
- 設計模式之中介者模式設計模式
- 設計模式(十四)中介者模式設計模式
- 設計模式(十一):中介者模式設計模式
- 設計模式之中介者設計模式
- 設計模式(十七)中介者設計模式
- Mediator(中介者)模式在iOS開發當中的使用模式iOS
- 設計模式實戰 - 中介者模式設計模式
- 極簡設計模式-中介者模式設計模式
- Python設計模式-中介者模式Python設計模式
- 我是這樣理解DAO的,對嗎?
- Java進階篇設計模式之十 ---- 訪問者模式和中介者模式Java設計模式
- C#設計模式(16)——中介者模式C#設計模式
- 設計模式學習(十八)中介者模式設計模式
- 我的Java設計模式-中介者模式Java設計模式
- 設計模式系列3--中介者模式設計模式
- C#設計模式之中介者模式C#設計模式
- 23種設計模式之中介者模式設計模式
- Java學設計模式之中介者模式Java設計模式
- 設計模式-行為型模式-中介者模式設計模式
- 我學設計模式 之 中介模式設計模式
- 中介者設計模式——業務實踐設計模式
- 折騰Java設計模式之中介者模式Java設計模式
- 設計模式之中介者模式(行為型)設計模式
- 設計模式(十九)——中介者模式(智慧家庭案例)設計模式
- 設計模式 | 中介者模式及典型應用設計模式
- 18.java設計模式之中介者模式Java設計模式
- Android原始碼設計模式-中介者模式Android原始碼設計模式
- 15、Python與設計模式–中介者模式Python設計模式
- 設計模式----中介模式設計模式