首页 > 代码库 > [php学习]策略模式
[php学习]策略模式
实现三种策略:
<?phpinterface OutputInterface{ public function load();}class SerializedArrayOutput implements OutputInterface{ public function load() { return serialize($arrayOfData); }}class JsonStringOutput implements OutputInterface{ public function load() { return json_encode($arrayOfData); }}class ArrayOutput implements OutputInterface{ public function load() { return $arrayOfData; }}
设立呼叫中介调用不同策略实现:
<?phpclass SomeClient{ private $output; public function setOutput(OutputInterface $outputType) { $this->output = $outputType; } public function loadOutput() { return $this->output->load(); }}
客户端调用:
<?php$client = new SomeClient();// Want an array?$client->setOutput(new ArrayOutput());$data = http://www.mamicode.com/$client->loadOutput();>
由于设计模式在高级语言中的通用,理解和使用上C#,java,Php等的实现没有差别,可能需要注意的就是不同语言的编程范式。
[php学习]策略模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。