生成器模式的本質:分離整體構建演算法和部件構造
模式定義:將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。
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,給小兒子的...