介面卡模式(PHP)
使用科學實驗的現實世界示例,其中在不同型別的組織上執行某些例程。預設情況下,該類包含兩個函式以分別獲取組織或例程。在以後的版本中,我們使用新類來調整它以新增一個兼具兩者的函式。這意味著我們沒有編輯原始程式碼,因此不會冒任何破壞我們現有類的風險(並且沒有重新測試)。
class Experiment {
private $routine;
private $tissue;
function __construct($routine_in, $tissue_in) {
$this->routine = $routine_in;
$this->tissue = $tissue_in;
}
function getRoutine() {
return $this->routine;
}
function getTissue() {
return $this->tissue;
}
}
class ExperimentAdapter {
private $experiment;
function __construct(Experiment $experiment_in) {
$this->experiment = $experiment_in;
}
function getRoutineAndTissue() {
return $this->experiment->getTissue().' ('. $this->experiment->getRoutine().')';
}
}