程式開發中,我們面對不同的資訊(m種資訊,用不通的工具(n種工具)傳送,按照單一職責原則,我們可能需要使用m*n種類來完成此項功能,這樣會使程式顯得非常臃腫,所以,需要用一種方式來完成此項工作-----橋接模式
原理:把傳送工具(傳送器),當做乙個父類的乙個屬性來呼叫傳送工具中的方法,來進行訊息傳送。
//方法一
abstract
class
info
abstract
public
function
msg(
$content);
public
function
send
($to
,$content)}
//資訊的傳送方式(傳送器-傳送工具)
classzn}
class
email
}class
sms}
//資訊的緊急程度(訊息緊急程度)
class
commoninfo
extends
info
}class
warninfo
extends
info
}class
dangerinfo
extends
info
}//傳送訊息;
$sm=
newcommoninfo
(newzn(
));echo
$sm-
>
send
('小明'
,'吃飯了'
);
//通過介面規範-注入類的例項;
inte***ce
info
inte***ce
methodtool
//資訊的傳送方式
class
znimplements
methodtool
}class
email
implements
methodtool
}class
sm******ments
methodtool
}//資訊的緊急程度
class
commoninfo
implements
info
public
function
msg(
$to,
$content)}
class
warninfo
implements
info
public
function
msg(
$to,
$content)}
class
dangerinfo
implements
info
public
function
msg(
$to,
$content)}
$sm=
newcommoninfo
(newzn(
));echo
$sm-
>
msg(
'小明'
,'吃飯了'
);
PHP設計模式之橋接模式
橋接模式 如 論壇給使用者傳送站內信 手機 sms資訊 資訊的程度分為普通 加急 緊急 三種不同的程度 第一種情況 不考慮使用橋接模式的情況下,普通模式,我們會這麼寫 inte ce msg class znmsg implements msg class smsmsg implements msg...
PHP設計模式之橋接模式
生活場景引入 現在的生活都離不開手機,手機中又有不同的品牌,小公尺,華為,三星,蘋果。每一種手機的設計又不一樣,比如最開始的翻蓋手機,直板手機,到現在的全面屏手機,假如現在的每個手機廠商都是最開始從翻蓋手機做起,雖然手機的樣子不一樣,但是手機的主要功能還是沒有變的,開機,打 發簡訊,關機 這些個最基...
設計模式 橋接模式
橋接模式 多維 如車行駛在路上。車分各種品牌 各種型號各種排氣 道路分街道 告訴 山地等 駕駛員分男女 為了減少類的數量。如果按照繼承實現會照成大量冗餘的類,類的數量會相當之大 package com.cn.duduyu.bridgepattern.car public abstract class...