當前位置:
首頁 >
设计模式--建造者模式--简记
發布時間: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
總結
以上是生活随笔為你收集整理的设计模式--建造者模式--简记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: poj2376 区间贪心 挑战程序设计竞
- 下一篇: 设计模式在实际业务应用中的介绍之2——业