设计模式之工厂模式
Posted wawjandcsws
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之工厂模式相关的知识,希望对你有一定的参考价值。
工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
简单工厂模式与工厂模式区别:
(1)简单工厂模式的优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类。
(2)简单工厂模式违背开放-封闭原则
(3)工厂模式实现时客户端需要决定实例化哪一个工厂来实现运算类,选择判断的问题还是存在的,也就是说,工厂模式的简单工厂模式的内部逻辑判断移到了客户端代码来进行。
案例:
<?php interface Drink function getDrinkName(); class AppleDrink implements Drink function getDrinkName() echo ‘苹果味饮料‘; class BananaDrink implements Drink function getDrinkName() echo ‘香蕉味饮料‘; interface FruitFactory function makeDrink(); class AppleFactory implements FruitFactory function makeDrink() return new AppleDrink(); class BananaFactory implements FruitFactory function makeDrink() return new BananaDrink(); $appleFactory = new AppleFactory(); $apple = $appleFactory->makeDrink(); $apple->getDrinkName(); $bananaFactory = new BananaFactory(); $banana = $bananaFactory->makeDrink(); $banana->getDrinkName();
以上是关于设计模式之工厂模式的主要内容,如果未能解决你的问题,请参考以下文章