µ±Ç°Î»ÖãºÊ×Ò³ > 2018ÄêÉϰëÄêÈí¼þÉè¼ÆÊ¦ÏÂÎç¾íÊÔÌâ¼°´ð°¸½âÎö
¹¹½¨¹ý³Ì¿ÉÒÔ´´½¨²»Í¬µÄ±íʾ¡£Í¼ 5-1 ËùʾΪÆäÀàͼ¡£ ¡¾ C++ ´ú Âë ¡¿
#include
using namespace std; class Product { private:
string partA, partB; public:
Product(){ }
void setPartA(const string&s){ PartA=s;} void setPartB(const string&s){ PartB=s;} ¡ÎÆäÓà´úÂëÊ¡ÂÔ }; class
Builder{ public: (1);
virtual void buildPartB()=0;
(2);
};
class ConcreteBuilder1: public Builder{ private:
Product* product; public:
ConcreteBuilder1(){product=new Product(); } void buildPartA(){ £¨3£©(\ void buildPartB(){ £¨4£©(\ Product*getResult(){ return product;} ¡ÎÆäÓà´úÂëÊ¡ÂÔ };
class ConcreteBuilder2: public Builder{ /*´úÂëÊ¡ÂÔ*/ };
class Director { private:
Builder* builder; public:
Director(Builder*pBuilder){builder*pBuilder;} void construct(){ £¨5£©
¡ÎÆäÓà´úÂëÊ¡ÂÔ }
¡ÎÆäÓà´úÂëÊ¡ÂÔ };
int main(){
Director* director1=new Director(new ConcreteBuilder1()); directorl->construct(); delete director 1; return 0; }
ÊÔÌâÁù(¹² 15 ·Ö)
ÔĶÁÏÂÁÐ˵Ã÷ºÍ Java ´úÂë,½«Ó¦ÌîÈë(n)´¦µÄ×Ö¾äдÔÚ´ðÌâÖ½µÄ¶ÔÓ¦À¸ÄÚ¡£
¡¾ËµÃ÷¡¿
Éú³ÉÆ÷( Builder)ģʽµÄÒâͼÊǽ«Ò»¸ö¸´ÔÓ¶ÔÏóµÄ¹¹½¨ÓëËüµÄ±íʾ·ÖÀë,ʹµÃͬÑùµÄ¹¹½¨¹ý³Ì¿ÉÒÔ´´½¨²»Í¬µÄ±íʾ¡£Í¼ 6-1 ËùʾΪÆäÀàͼ¡£
¡¾Java ´úÂë¡¿
import java.util.*£» class Product {
private String part A; private String part B; public Product(){}
public void setPartA(String s){ partA=s;} public void setPartB(String s){ partB=s;} }
interface Builder{ public (1);
public void buildPartB(); public (2); }
class ConcreteBuilder1: implements Builder{
private Product product;
public ConcreteBuilder1(){product=new Product(); } public void buildPartA(){ £¨3£©(\ public void buildPartB(){ £¨4£©(\ public Product getResult(){ return product;} }
class ConcreteBuilder2 implements Builder{ ¡Î´úÂëÊ¡ÂÔ }
class Director {
private Builder builder;
public Director(Builder builder){this.builder=builder;} public void construct(){ £¨5£©
¡Î´úÂëÊ¡ÂÔ } }
class Test{
public static void main(String[]args){
Director director1=new Director(new ConcreteBuilder1()); directorl.construct(); } }
¹²·ÖÏí92ƪÏà¹ØÎĵµ