中介者模式

2021-09-08 18:06:58 字數 1173 閱讀 7956

解釋:

中介者模式用於開發乙個物件,這個物件能夠在類似物件相互之間不直接互動的情況下傳送或調解對這些物件的集合的修改,處理具有類似屬性並且屬性需要保持同步的非耦合物件時,最佳的做法是使用基於中介者模式的物件

需求:同事類:有兩個類a和b,類中各有乙個數字,並且要保證類b中的數字永遠是類a中數字的100倍。也就是說,當修改類a的數時,將這個數字乘以100賦給類b,而修改類b時,要將數除以100賦給類a。類a類b互相影響,就稱為同事類。

class colleaguea

public function getnumber() 

}class colleagueb

public function getnumber()  

}  $colla = new colleaguea();  

$collb = new colleagueb();  

$colla->setnumber(1000, $collb);  

echo $colla->getnumber(); 

echo '

'; echo $collb->getnumber();

上面的**中,類a類b通過直接的關聯發生關係,假如我們要使用中介者模式,類a類b之間則不可以直接關聯,他們之間必須要通過乙個中介者來達到關聯的目的。

**:

class colleaguea

public function getnumber() 

}class colleagueb

public function getnumber() 

} // 中介者

class mediator

public function change($obj , $newnum)  else if ($obj === $this->_b)  }}

$colla = new colleaguea();  

$collb = new colleagueb();

$mediator = new mediator($colla , $collb);

$colla->setnumber(1000, $mediator);

echo $colla->getnumber(); 

echo '

'; echo $collb->getnumber();

中介者模式

1.中間 類 namespace intermediarypattern 成員物件需要知道是哪個中介者在通知它事情 public abstract class member 各成員間要傳送訊息 public abstract void send string msg 這個方法其實是具體實施發訊息的 ...

中介者模式

中介者模式就是在物件之間的關係很複雜時用,名如其人,就像租房的黑中介一樣,如果每個房東都拿著很多租房者的資訊很麻煩,每個租房者都要拿著很多房東的資訊也麻煩,所以需要乙個中介來拿著這些資訊,租房者只需要發出租房的請求,中介會給你介紹合適的房東,房東只需要提交房屋資料就等著中介的人帶著訪客看房拿錢就行了...

中介者模式

中介者模式 mediator pattern 1 抽象中介者 mediator 角色 抽象中介者角色定義統一的介面用於各同事角色之間的通訊。具體中介者 concrete mediator 角色 具體中介者角色通過協調各同事角色實現協作行為,因此它必須依賴於各個同事角色。同事 colleague 角色...