設計模式(三 建造者模式)

2021-09-10 23:04:40 字數 2054 閱讀 9779

1.建造者模式的作用:

1.分離了物件子元件的構建和裝配,構建由builder負責,裝配由director負責。。 從而可以構 造出複雜的物件。這個模式適用於:某個物件的構建過程複雜的情況下使用。

2.由於實現了構建和裝配的解耦。不同的構建器,相同的裝配,也可以做出不同的物件; 相同的構建器,不同的裝配順序也可以做出不同的物件。也就是實現了構建演算法、裝配 演算法的解耦,實現了更好的復用。

2.**案例:

需求:需要乙個飛船!

需要乙個飛船類

需要乙個構造飛船的介面 (飛船的各個子元件)

需要乙個構造飛船的實現類

需要乙個裝配飛船的介面

需要乙個裝配飛船的實現類

package com.example.shejimoshi.builder;

/** * 需要乙個飛船的產品

*/public class airship

public orbitalmodule getorbitalmodule()

public void setorbitalmodule(orbitalmodule orbitalmodule)

public escapetower getescapetower()

public void setescapetower(escapetower escapetower)

public engine getengine()

public void setengine(engine engine)

}//軌道艙

class orbitalmodule

public string getname()

public void setname(string name)

}//發動機

class engine

public string getname()

public void setname(string name)

}//逃逸塔

class escapetower

public string getname()

public void setname(string name)

}

package com.example.shejimoshi.builder;

/** * 構建飛船的子元件 介面

*/public inte***ce airshipbuilder

package com.example.shejimoshi.builder;

/** * 實現了構建飛船的子元件

*/public class zhuairshipbuilder implements airshipbuilder

@override

public orbitalmodule builderorbitalmodule()

@override

public escapetower builderescapetower()

}

package com.example.shejimoshi.builder;

/** * 負責組裝飛船物件 介面

*/public inte***ce airshipdirector

package com.example.shejimoshi.builder;

/** * 實現飛船的裝配者

*/public class zhuairshipdirector implements airshipdirector

@override

public airship dictotairship()

}

測試:

package com.example.shejimoshi.builder;

public class test

}

設計模式(三)建造者模式

定義 建造者模式 builder 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。簡介 建造者模式 builder 是建立乙個複雜物件的建立型模式,將構建複雜物件的過程和它的部件解耦,使得構建過程和部件的表示分離開來。例如我們要diy乙個台式電腦電腦,我們找到diy商家,我...

設計模式(三)建造者模式(建立型)

定義 將乙個複雜的物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。使用場景 建立的產品有複雜的內部結構,且建立的產品有較多的共同點,其組成部分相似。隔離複雜物件的建立,使得相同的過程可以建立不同的產品。與抽象工廠的區別 在建造者模式裡,有個指導者,由指導者來管理創造者,使用者是與指導...

C 設計模式(三)建造著模式

class test public class test1 public void show public class test2 public test1 getitem public class director 電腦類 public class computer public void sho...