ファクトリーモード
シングルエレメントモード
オブザーバーモード
コマンドチェーンモード
ストラテジーモード
コードをコピーします コードは次のとおりです。
class people {
private $name = ''; null;
private function __contract($name){/*ここでのプライベート定義は、単一要素モードの実装に役立ちます*/
$this->name = $name;
public static function instance($name); *このメソッドはファクトリーモードを実装します*/
static $object = null;/*この変数は単一要素モードを実装します*/
if (is_null($object))
$object = new people($name); ;
}
public function work_in($who=null)
{
if (is_null($who)) echo 'error';
else {
$this->user[] = $who;/*この配列変数オブザーバー パターンを実装します*/
echo $who->work();/*このメソッドは実装戦略パターンを呼び出します*/
}
}
public function on_action($that=''){
if (empty($ what)) echo 'error' ;
else {
foreach ($this->user as $user)
$user->action($that);/*このメソッド呼び出しはコマンド チェーン モードを実装します*/
}
}
}
$people = people::instance('jack');
$people->work_in(新入生);
$people->on_action( 'eat');
class students {
function work(){
echo '
私は学生で、9時から5時まで働いています。 ';
}
関数 action($this){
if (method_exists($this, $that)) return $this->$that();
else echo 'あなたは間違っています!'
} (){
echo '
私は学生なので定食しか食べられません。 ';
}
}
class Teacher {
function work(){
echo '
私は教師で、夜は授業の準備で一番忙しいです。 ';
}
function action($this){
if (method_exists($this, $that)) return $this->$that();
else echo 'それはできません!'
function Eat(){
echo '
私は教師なので、毎日たくさんの食事を食べることができます。 ';
}
}
http://www.bkjia.com/PHPjc/325853.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/325853.html技術記事ファクトリ モード シングル エレメント モード コマンド チェーン モード ストラテジー モード コードをコピーする コードは次のとおりです。 class people { private $name = ''; private function __cons...;