PHP面向对象深入理解之四(设计模式-工厂模式)

来源:互联网 发布:linux 图形化压缩软件 编辑:程序博客网 时间:2024/05/16 14:51
适用于创建相同类型的模型类 能使代码更加健壮
举个栗子:车Car --> 奥迪,福特,宝马... 我们要造一辆

重要的是我们不需要引入所有相关类,我们只需要引入一个工厂类 即可



interface Car{public function makeCircle();public function makeBody();public function makeEngine();public function makeDecoration();}class Audi{public function makeCircle(){    echo 'make Audi Circle';}public function makeBody(){    echo 'make Audi Body';}public function makeEngine(){    echo 'make Audi Engine';}public function makeDecoration(){    echo 'make Audi Decoration';}public function makeAuto(){}}class Ford{public function makeCircle(){    echo 'make Audi Circle';}public function makeBody(){    echo 'make Audi Body';}public function makeEngine(){    echo 'make Audi Engine';}public function makeDecoration(){    echo 'make Audi Decoration';}public function makeHandle(){}}class BMW{public function makeCircle(){    echo 'make BMW Circle';}public function makeBody(){    echo 'make BMW Body';}public function makeEngine(){    echo 'make BMW Engine';}public function makeDecoration(){    echo 'make BMW Decoration';}public function makeAll(){}}class CarFactory {static public function create($class,$params){if(!class_exists($class)){throw new Exception("class not existis!");}return new $class($params);}}$audi = CarFactory::create('Audi',’15w‘);$audi->makeCircle();$bmw = CarFactory::create('BMW',’100w‘);$bmw->makeAll();





阅读全文
0 0
原创粉丝点击