zoukankan      html  css  js  c++  java
  • 设计模式(工厂方法)

    工厂方法

    意图:

            定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。

    适用性:

            当一个类不知道它所必须创建的对象的类的时候。

            当一个类希望由它的子类来指定它所创建的对象的时候。

            当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。

    原理图:

    clip_image001

    代码实现:

     1 <?php
     2 /**
     3  * 工厂模式
     4  */
     5 
     6 
     7 
     8 /**
     9  * 抽象产品
    10  */
    11 abstract class food {
    12     private $_name ;
    13     
    14     abstract public function make();
    15 }
    16 
    17 /**
    18  * 实体产品
    19  */
    20 class greens extends food {
    21     public function make() {
    22         echo '我要做greens';
    23     }
    24 }
    25 class bread extends food {
    26     public function make() {
    27         echo '我要做bread';
    28     }
    29 }
    30 
    31 /**
    32  * 抽象工厂
    33  */
    34 abstract class servant {
    35     abstract public function createFood();
    36 }
    37 
    38 /**
    39  * 实体工场
    40  */
    41 class greensFactory extends servant{
    42     public function createFood() {
    43         return new greens();
    44     }
    45 }
    46 
    47 class breadFactory extends servant{
    48     public function createFood () {
    49         return new bread();
    50     }
    51 }

    参考文献:

    http://www.cnblogs.com/zhangchenliang/p/3700820.html

  • 相关阅读:
    【校招内推】2022届菜鸟网络Java内推
    Git版本管理流程与规范-生活圈
    Jenkins:Git拉取代码版本不对
    java html2image
    CentOS 7.6构建MySQL PXC高可用集群
    你可能不知道的Docker资源限制
    Docker镜像源修改
    centos7.2安装docker(二进制离线安装)
    ansible playbook 配置计划任务
    NFS服务的用户身份映射
  • 原文地址:https://www.cnblogs.com/faronl/p/4701874.html
Copyright © 2011-2022 走看看