日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

设计模式--建造者模式--简记

發布時間:2025/3/15 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式--建造者模式--简记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

建造者(Builder)模式

  定義:將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。

  通常包括的角色:

    1.Builder:給出一個抽象的接口,以規范產品對象的各個組成成分的建造。

    這個接口規定要實現復雜對象的哪些部分的創建,不涉及具體的對象部件的創建。

    2.ConcreteBuilder:實現Builder接口,針對不同的商業邏輯,具體化復雜對象的各部分的創建。在建造完成后,提供產品的實例。

    3.Director:調用具體建造者來創建復雜對象的各個部分,在指導者中不涉及具體產品的信息,只負責保證對象各部分完整創建或按某種順序創建。

    4.Product:要創建的復雜的對象

  使用場景:

    1.需要生成的對象具有復雜的內部結構

    2.需要生成的對象內部屬性本身相互依賴

1 //要創建的復雜對象:Product 2 //建立一個人物對象Person 3 public class Person { 4 5 private String head; 6 private String body; 7 private String foot; 8 9 public String getHead() { 10 return head; 11 } 12 13 public void setBody(String head) { 14 this.head = head; 15 } 16 17 public String getHead() { 18 return body; 19 } 20 21 public void setBody(String body) { 22 this.body = body; 23 } 24 25 public String getFoot() { 26 return foot; 27 } 28 29 public void setFoot(String foot) { 30 this.foot = foot; 31 } 32 33 } 34 35 36 //定義一個抽象接口:Builder 37 public interface PersonBuilder { 38 void buildHead(); 39 void buildBody(); 40 void buildFoot(); 41 Person buildPerson(); 42 } 43 44 45 //實現Builder接口:ConcreteBuilder 46 public class ManBuilder implements PersonBuilder { 47 48 Person person; 49 50 public ManBuilder() { 51 person = new Person(); 52 } 53 54 public void buildHead() { 55 person.setHead("build head"); 56 } 57 58 public void buildBody() { 59 person.setHead("build body"); 60 } 61 62 public void buildFoot() { 63 person.setHead("build foot"); 64 } 65 66 public Person buildPerson() { 67 return person; 68 } 69 70 } 71 72 73 //調用構造者來創建復雜對象的各個部分:Director 74 public class PersonDirector { 75 public Person constructPerson(PersonBuilder personBuilder) { 76 personBuilder.buildHead(); 77 personBuilder.buildBody(); 78 personBuilder.buildFoot(); 79 return personBuilder.buildPerson(); 80 } 81 } 82 83 84 //Test 85 public class Test { 86 87 public static void main(String[] args) { 88 PersonDirector pd = new PersonDirector(); 89 Person person = pd.constructPerson(new ManBuilder()); 90 System.out.println(person.getHead()); 91 System.out.println(person.getBody()); 92 System.out.println(person.getFoot()); 93 } 94 95 }

?

詳情:https://www.cnblogs.com/kangsir/p/6653233.html

?

轉載于:https://www.cnblogs.com/fqfanqi/p/8519768.html

總結

以上是生活随笔為你收集整理的设计模式--建造者模式--简记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。