工厂模式解决可以代码高耦合 改动时易操作

原创 2018-12-14 16:14:55 229
摘要:<?php class Animal { public function cat() { return "猫猫"; } }  class Beast  {   public function dog()   {   return &
<?php
class Animal
{
	public function cat()
	{
		return "猫猫";
	}
}
 class Beast
 {
 	public function dog()
 	{
 		return "狗狗";
 	}
 }

 class Factory
 {
 	public static function create($className)
 	{
 		switch (strtolower($className)) {
 			case 'animal':
 				return new Animal();
 				break;
 			
 			case 'beast':
 				return new Beast();
 				break;
 		}
 	}
 }
  class People
 {
 	public  function woman()
 	{
 		$animal = Factory::create('animal');
 		return "她喜欢".$animal->cat();
 	}

 	public function man()
 	{
 		$beast = Factory::create('beast');
 		return '他喜欢'.$beast->dog();
 	}
 }

$people = new People;
echo $people->woman();
echo "<br>";
echo $people->man();

?>


发布手记

热门词条