适配器模式(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().')';
}
}