<?php/*** 建造者模式
* 將乙個複雜物件的構造與它的表示分離,是同樣的構建過程可以建立不同的表示;
* 目的是為了消除其他物件複雜的建立過程 */
/*** 產品,包含產品型別、價錢、顏色屬性 */
class
product
//建造產品的**
public
function setprice($price
)
//建造產品的顏色
public
function setcolor($color
) }/*
將要建造的,目標物件的引數
*/$config = array
( 'type' => 'shirt',
'price' => 100,
'color' => 'red',);
/*不使用建造者模式
*/$product = new
product();
$product->settype($config['type']);
$product->setprice($config['price']);
$product->setcolor($config['color']);
//var_dump($product);/**
* builder類--使用建造者模式 */
class
productbuilder
public
function
build()
public
function
getproduct()
}$objbuilder = new productbuilder($config);//
新建乙個建造者
$objbuilder->build();//
建造者去建造
$objproduct = $objbuilder->getproduct();//
建造者返回-它建造的東西
var_dump($objproduct
);?>
一天乙個設計模式 建造者模式
這個模式和工廠模式很像,建造者 builder 模式和工廠模式的關注點不同 建造者模式注重零部件的組裝過程,而工廠方法模式更注重零部件的建立過程,但兩者可以結合使用。舉個栗子,stringbuilder public class abstractstringbuilder char c privat...
使用建造者模式建立乙個流式API
如下 package com.zengpinlin.aopdemo.model public class user public static void main string args override public string tostring public static class buil...
java建造者模式 給乙個你一看就懂的建造者模式
在開始寫這個建造者模式的文章前,我也確實看了挺多次其他介紹這個模式的文章。感覺看了很多次才有一點對建造者模式明白透徹的感覺。細心想來,可能是介面的理解不好,平時工作比較少用到過建造者模式,所以理解的比較慢。所以看通了建造者模式,就可以加深自己對介面的理解。那從例子開始,建造者模式就是要造東西嘛,造點...