<?php
/**
* 2020-6-3 Xun
* Factory(工厂模式模式)
* 设计模式:经典场景->经典问题->经典解决方法
* 在面向对象设计法则中有一个开闭原则:对修改封闭,对扩展开放
* 简单工厂模式,主要为的是让别人调用只能通过一个入口,尽量的简单
*/
class Npc{
public function show()
{
echo 'ccccccc';
}
}
class Blsd{
public function show()
{
echo '啵啵啵';
}
}
//单一入口
class Factory{
static public function get($type)
{
if($type=='Blsd'){
return new Blsd();
}elseif($type=='Npc'){
return new Npc();
}else{
throw new Exception($type."类不存在");
}
}
}
try {
$obj=Factory::get('Xun');
$obj->show();
}catch (Exception $e){
var_dump($e);die;
}
//-----------------------
//工厂方法模式
/*class Npc{
public function show()
{
echo 'ccccccc';
}
}
class Blsd{
public function show()
{
echo '啵啵啵';
}
}
//npc工厂
class NpcFactory{
public function create()
{
return new Npc();
}
}
//Blsd工厂
class BlsdFactory{
public function create(){
return new Blsd();
}
}
$a=(new NpcFactory())->create();
$a->show();*/
PHP设计模式之工厂模式
最新推荐文章于 2024-06-03 14:44:56 发布