每日一模式之工厂模式

<?php
//工厂模式:用于建立合适的对象
//使用这种模式每次都得本身去构建对象,调用合适的方法

class WorkerFactory{

	public static function createWorker($type){
		$className = ucwords(strtolower($type));
		$className .= "Worker";
		return new $className();
	}
}

class BlueWorker{

	public function say(){
		echo "我是蓝领工人\n";
	}
}

class WhiteWorker{

	public function say(){
		echo "我是白领工人\n";
	}

}

class GlodenWorker{
	public function say(){
		echo "我是金领工人\n";
	}
}

WorkerFactory::createWorker("blue")->say();
WorkerFactory::createWorker("white")->say();
WorkerFactory::createWorker("gloden")->say();
相关文章
相关标签/搜索