design-patterns - 下面的代码中使用了哪种设计模式
问题描述
有人可以告诉我下面的代码中使用了哪种设计模式吗?任何帮助将不胜感激。
此代码已用于招聘测试(实时编码游戏测试)。所以我想知道答案,以防相同的代码回来。提前谢谢了。
class UnixText
{
function write($txt){echo $txt;}
function lf() {echo "\n";}
}
class MSWindowsText
{
function write($txt){echo $txt;}
function crlf() {echo "\r\n";}
}
interface Writer
{
function write($txt);
function newLine();
}
class UnixWriter implements Writer{
private $target;
public function __construct($unixText){$this->target=$unixText; }
function write($txt){$this->target->write($txt);}
function newLine(){$this->target->lf();}
}
class MSWindowsWriter implements Writer{
private $target;
public function __construct($winText){$this->target=$winText; }
function write($txt){$this->target->write($txt);}
function newLine(){$this->target->crlf();}
}
//example of use
$writer=NULL;
if($isUnix){$writer= new UnixWriter(new UnixText());}
else {$writer= new MSWindowsWriter(new MSWindowsText());}
$writer->write('First Line');
$writer->newLine();
$writer->write('Second Line');
```
解决方案
我终于得到了回应,以防它对其他人有帮助。在这种情况下使用的设计模式是适配器。谢谢
推荐阅读
- python-3.x - plotly:3D 绘图返回一个没有数据点的图形
- c# - 从 SQL 获取数据以及在 C# 中读取 excel
- mysql - 将 WHERE 和 AND 分组为一个语句
- python - 使用 SciPy 拟合 Levy 稳定分布
- javascript - 如何获取复选框索引/行号?
- javascript - 如何在 javascript 文件中绘制图表并将其传递给 html 以便它可以显示
- php - 尝试使用军用时钟格式制作 if、elseif、else 时间和何时吃饭的声明
- javascript - 如何使用 css 内容显示图像?
- reactjs - React 事件处理程序上的控制台日志语句导致合成事件警告
- mysql - 来自 PLpgsql 的 PLsql 等效查询