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

xiaoxiao2021-02-28  94

适用于创建相同类型的模型类 能使代码更加健壮 举个栗子:车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();

转载请注明原文地址: https://www.6miu.com/read-56173.html

最新回复(0)