PHP 简单工厂模式(静态工厂模式)

本文介绍了一种简单工厂模式(也称为静态工厂模式)的应用实例。通过定义一系列接口和具体类,如 GoodsMacBook 和 GoodsXps,展示了如何根据不同输入创建相应的产品对象。此外,还提供了一个 Service 类用于获取这些产品对象。
  1. 简单工厂模式(静态工厂模式)
    <?php
    /**
     *  简单工厂模式(静态工厂模式)
     */
    
    /**
     * Interface DemandIO
     * 定义接口
     */
    interface DemandIO {
        public function Price ();
    }
    
    class GoodsMacBook implements DemandIO{
        public function Price () {
            echo 'price=8888rmb'.PHP_EOL;
        }
    }
    
    class GoodsXps implements DemandIO {
        public function Price () {
            echo 'price=6999rmb'.PHP_EOL;
        }
    }
    
    class Service {
        public static function GetGoods($name='') {
            if ($name === 'xps') {return new GoodsXps();}
            if ($name === 'macbook') {return new GoodsMacBook();}
            throw new Exception("not object ".PHP_EOL);
        }
    }
    try{
        $obj =  Service::GetGoods();
    } catch  (Exception $e){
        echo $e->getMessage(); // not object
    }
    
    try{
        $obj =  Service::GetGoods('xps');
        $obj->Price(); // price=6999rmb
    } catch  (Exception $e){
        echo $e->getMessage();
    }
    
    try{
        $obj =  Service::GetGoods('macbook');
        $obj->Price(); // price=8888rmb
    } catch  (Exception $e){
        echo $e->getMessage();
    }

     

转载于:https://my.oschina.net/u/3529405/blog/1823278

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值