設計模式:創建型 - 建造者模式(生成器)

創建者模式,將一個複雜對象的結構與它的表示分離,使得通用的構建過程可以創建不同的表示

好處:使得建造代碼與表示代碼分離,由於建造者隱藏了該產品是如何組裝的,所以若需要改變一個產品的內部表示,只需要再定義一個具體的建造者就可以了

 

UML:

 

JAVA:

public class BuilderTest {
    public static void main(String[] args) throws Throwable {
        Person p = new Girl();
        PersonDirector director = new PersonDirector(p);
        director.createPerson();
    }
}

//指揮者
class PersonDirector{
    Person p;
    public PersonDirector(Person p) {
        this.p = p;
    }
    public void createPerson(){
        p.face();
        p.body();
        p.hands();
        p.legs();
    }
}

abstract class Person{
    //描繪人體結構
    abstract void face();
    abstract void body();
    abstract void hands();
    abstract void legs();
    //可能還有詳細的描述
    abstract void smile();
}
class Girl extends Person{

    @Override
    void face() {
        System.out.println("畫瓜子臉");
    }

    @Override
    void body() {
        System.out.println("畫妖嬈的身子");
    }

    @Override
    void hands() {
        System.out.println("畫纖細的雙手");
    }

    @Override
    void legs() {
        System.out.println("畫修長的玉足");
    }

    @Override
    void smile() {
        System.out.println("畫甜美的微笑");
    }
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章