- JAVASCRIPT:
a. 代码:
function factory() {
var name = new Object()
return name
}
var obj = factory()
console.log(obj)
b. 输出:
{}
- PHP:
a. 代码:
<?php
class man{
public function say(){
echo '我是男人'.PHP_EOL;
}
}
class women{
public function say(){
echo '我是女人'.PHP_EOL;
}
}
class factory{
public function createMan(){
return new man();
}
public function createWomen(){
return new women();
}
}
$factory = new factory();
$man = $factory->createMan();
$man->say();
$woman = $factory->createWomen();
$woman->say();
b. 输出:
我是男人
我是女人
- 说明:
1、因为JS中没有类的概念,工厂函数是为了解决面向对象中的封装性而设计的
2、PHP本身就是面向对象的语言,工厂函数只是为了防止new关键字使用过多,所以在PHP当中的工厂函数这个模式设计的很鸡肋,一般不用!
|