<?php
//代理模式 代理模式的作用和父类以及接口和组合的作用类似,都是为了聚合共用部分,减少公共部分的代码
//程序猿能写代码可是不能运行机器码,这些得交个计算机
//代码
class Code {
private $_code_txt;
public function __construct($code_txt){
$this->_code_txt = $code_txt;
}
public function getCode(){
return $this->_code_txt;
}
}
//程序猿
class Programer {
public static function makeCode(){
$code_txt = "import std.stdio;void main(){writeln(\"hello d language programe\");}";
return new Code($code_txt);
}
}
//运行代码的机器
class CodeRunner {
private $_code;
public function runCode($code){
$this->_code = $code;
$this->debug();
$this->complie();
$this->run();
}
public function debug(){
echo $this->_code->getCode()."debug\n";
}
public function complie(){
echo $this->_code->getCode()."编译\n";
}
public function run(){
echo $this->_code->getCode()."运行\n";
}
}
$cr = new CodeRunner();
$cr->runCode(Programer::makeCode());
转载于:https://my.oschina.net/u/218155/blog/599827