乙個更加簡潔的 建造者模式

2022-06-05 01:33:11 字數 1070 閱讀 9229

<?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建造者模式 給乙個你一看就懂的建造者模式

在開始寫這個建造者模式的文章前,我也確實看了挺多次其他介紹這個模式的文章。感覺看了很多次才有一點對建造者模式明白透徹的感覺。細心想來,可能是介面的理解不好,平時工作比較少用到過建造者模式,所以理解的比較慢。所以看通了建造者模式,就可以加深自己對介面的理解。那從例子開始,建造者模式就是要造東西嘛,造點...