zoukankan      html  css  js  c++  java
  • 建造者模式

    建造者模式:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

    建造者模式结构图:

    建造者模式结构图

    php实现:

    <?php
    class Product{
        public $part1;
        public $part2;
        public function setPart1($v){
            $this->part1 = $v;
        }
        public function setPart2($v){
            $this->part2 = $v;
        }
    }
    
    abstract class Builder{
        public abstract function BuildPart1($v);
        public abstract function BuildPart2($v);
    }
    
    class concreteBuilder extends Builder{
        private $product;
        public function __construct(){
            $this->product = new Product();
        }
        function BuildPart1($v1){
            $this->product->setPart1($v1);
        }
        function BuildPart2($v2){
            $this->product->setPart2($v2);;
        }
        function getProduct(){
            return $this->product;
        }
    }
    
    class Director{
        private $builde;
        public function __construct(){
            $this->builder = new concreteBuilder();
        }
        function getProductA(){
            $this->builder->BuildPart1("a");
            $this->builder->BuildPart2("aa");
            return $this->builder->getProduct();
        }
        function getProductB(){
            $this->builder->BuildPart1("b");
            $this->builder->BuildPart2("bb");
            return $this->builder->getProduct();
        }
    }
    
    class Client{
        function run(){
            $director = new Director();
            $productA = $director->getProductA();
            echo $productA->part1;
        }
    }
    
    Client::run();
    

      

  • 相关阅读:
    序列化注意事项
    HTML5的新结构标签
    MVC模型
    CSS选择器权重计算规则
    HTML常用布局
    盒模型
    Spring Security 学习笔记-session并发控制
    java实例之随机点名
    java之方法重载
    java之方法
  • 原文地址:https://www.cnblogs.com/zhutianpeng/p/4238648.html
Copyright © 2011-2022 走看看