• 设计模式之工厂模式


    工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

    简单工厂模式与工厂模式区别:

      (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();
  • 相关阅读:
    华为"128为大整数相加"机试题
    ORA-12545: 因目标主机或对象不存在, 连接失败
    VS2010 安装使用STLPort
    Debian 入门安装与配置1
    CF1072A Palindromic Twist 思维
    解决让刷新页面时不提示 "重试或取消”对话框
    php优化及高效提速问题小结
    让Tomcat支持php
    Php邮件发送源码
    使用iconv提示未知错误
  • 原文地址:https://www.cnblogs.com/wawjandcsws/p/10985059.html
Copyright © 2020-2023  润新知