設計模式9 生成器模式(Builder)

2021-06-20 02:31:17 字數 1536 閱讀 5641

生成器模式的本質:分離整體構建演算法和部件構造

模式定義:將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。

package com;

public class product

package com;

public inte***ce builder

package com.impl;import com.builder;

import com.product;

public class concretebuilder implements builder

@override

public product getresult()

}

package com;

public class director

public void construct()

}

import com.director;

import com.product;

import com.impl.concretebuilder;

public class client

}

使用生成器模式建立複雜物件:
package com.impl;

public class insurancecontract

public static class contractbuiler

public contractbuiler setpersonname(string personname)

public contractbuiler setcompnyname(string companyname)

public contractbuiler setoherdate(string oherdate)

public insurancecontract build()

boolean signperson = (personname != null && !"".equals(personname));

boolean signcompany = (companyname != null && !"".equals(companyname));

if(signperson && signcompany)

if(!signperson && !signcompany)

if(begindate <= 0 )

if(enddate <= 0)

if(enddate <= begindate)

return new insurancecontract(this);

} }public void someoperation()

}

import com.impl.insurancecontract;

public class client

}

設計模式 生成器模式

前兩個文章我介紹了工廠方法模式和抽象工廠模式,這次我來講一些生成器模式。生成器模式我也用的比較多。5個建立型模式裡面,我比較喜歡用工廠方法模式,生成器模式和單例模式。意圖將乙個複雜物件的構建與它的表示分開,使得同樣的構建過程可以建立不同的表示。結構圖 一眼看去是不是和抽象工廠模式有點像?是啊,我也覺...

設計模式 生成器模式

封裝乙個產品的構造過程,並允許按步驟構造 需要經過多個步驟建立的物件,如實際生活中的點餐流程,管理系統中的匯出框架等 此處以點餐流程為例 入口 package com.glt.designpattern.builder public class initmain 建造者類 package com.g...

設計模式 生成器模式

定義 將乙個複雜的物件,分成多分,使同樣的構建過程,能有不同的表示,這樣的設計模式被稱為建造者模式。舉例說明 李嘉誠的遺囑執行 財產 產品角色 李嘉誠擁有眾多複雜的財產框架,這裡以現金與物品入例。遺囑 建造者 相當於建造者,分配現金與物品。具體遺囑 具體建造者 1.給大兒子的財產分配,2,給小兒子的...