<?php/*科技球和飛機場各自做自己的事情,
*然後有其他需要對方的資訊或者給對方的資訊時,聯絡中介者
**//*中介者
* * 責任一:如果使用者製造了科技球,接收科技球的觸發資訊,將科技球數量增加
* 責任二:如果飛機場要用到科技球,會向這裡發請求,詢問科技球數量是不是大於0 */
class
mediator
//一旦科技建築造好了或者被摧毀,呼叫這個方法,引數$techbuildingname代表建築名稱
//$add為布林值,true表示增加(建造),false代表減少(摧毀)
public
static
function changetech ($techbuildingname, $add
)
else
}}/*
科技站類
* * 科技站,在每次建立時,觸發中介者記錄科技站的數量加1
* 科技站,在每次摧毀時,觸發中介者記錄科技站的數量減1
* *
*/class
sciencefacility
//析構方法
public
function
__destruct()
}/*飛機場類
* * 飛機場新建後,如果要製作科技球,就直接去問中介者,看中介記錄的科技站數量是不是存在
* *
*/class
starport
}$sciencefacility1 = new sciencefacility();//
造乙個科技站
$sciencefacility2 = new sciencefacility();//
再造乙個科技站
$starport = new starport();//
造乙個飛機場
$starport->createsciencevessel();//
建造科技球,結果是能夠
unset($sciencefacility1);//
乙個科技站被摧毀
$starport->createsciencevessel();//
這時建造科技球,結果是能夠,因為還有乙個科技站
unset($sciencefacility2);//
另乙個科技站被摧毀
$starport->createsciencevessel();//
這時建造科技球,結果是不行
?>
中介者模式
1.中間 類 namespace intermediarypattern 成員物件需要知道是哪個中介者在通知它事情 public abstract class member 各成員間要傳送訊息 public abstract void send string msg 這個方法其實是具體實施發訊息的 ...
中介者模式
中介者模式就是在物件之間的關係很複雜時用,名如其人,就像租房的黑中介一樣,如果每個房東都拿著很多租房者的資訊很麻煩,每個租房者都要拿著很多房東的資訊也麻煩,所以需要乙個中介來拿著這些資訊,租房者只需要發出租房的請求,中介會給你介紹合適的房東,房東只需要提交房屋資料就等著中介的人帶著訪客看房拿錢就行了...
中介者模式
中介者模式 mediator pattern 1 抽象中介者 mediator 角色 抽象中介者角色定義統一的介面用於各同事角色之間的通訊。具體中介者 concrete mediator 角色 具體中介者角色通過協調各同事角色實現協作行為,因此它必須依賴於各個同事角色。同事 colleague 角色...