码迷,mamicode.com
首页 > 其他好文 > 详细

建造者模式

时间:2015-04-10 11:09:44      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:

设计模式的意义在于:面向业务内容、业务数据结构和系统架构,高内聚低耦合、优雅的将平面逻辑立体化。

 1 package designPattern;
 2 /**
 3  * 建造者模式
 4  * @author Administrator
 5  */
 6 public class A7_BuilderTest {
 7 
 8     /**
 9      * 将一个复杂对象的构建与他的表示分离,使的同样的构建过程可以创建不同的表示
10      * 适用于:
11      * 1,创建复杂对象的算法应该独立于该对象的组成部分以及他们的装配方式,
12      * 2,构造过程必须允许被构造的对象有不同的表示
13      */
14     public static void main(String[] args) {
15         PersonDirector pd = new PersonDirector();
16         PersonBuilder person = pd.constructPerson(new ManBuilder());
17         System.out.println(person.getBody());
18         System.out.println(person.getFoot());
19         System.out.println(person.getHead());
20     }
21 }
22 //1,AbstractFactory 为创建一个Product对象的各个部件指定抽象接口
23 interface PersonBuilderService
24 {
25     void buildHead();
26     void buildBody();
27     void buildFoot();
28     PersonBuilder buildPerson();
29 }
30 //2,ConcreteFactory 实现Builder的接口以构造和装配该产品的各个部件
31 class ManBuilder implements PersonBuilderService
32 {
33     PersonBuilder person;
34     public ManBuilder()
35     {
36         person=new Man();
37     }
38     public void buildHead()
39     {
40         person.setHead("head");
41     }
42     public void buildBody()
43     {
44         person.setBody("body");
45     }
46     public void buildFoot()
47     {
48         person.setFoot("foot");
49     }
50     public PersonBuilder buildPerson() {
51         return person;
52     }
53 }
54 //3,Designer 构造一个使用Builder的对象
55 class PersonDirector
56 {
57     PersonBuilder constructPerson(PersonBuilderService pb)
58     {
59         pb.buildBody();
60         pb.buildFoot();
61         pb.buildHead();
62         return pb.buildPerson();
63     }
64 }
65 
66 class PersonBuilder
67 {
68     String head;
69     String body;
70     String foot;
71     public String getHead() {
72         return head;
73     }
74     public void setHead(String head) {
75         this.head = head;
76     }
77     public String getBody() {
78         return body;
79     }
80     public void setBody(String body) {
81         this.body = body;
82     }
83     public String getFoot() {
84         return foot;
85     }
86     public void setFoot(String foot) {
87         this.foot = foot;
88     }    
89 }
90 
91 class Man extends PersonBuilder
92 {
93     
94 }

 

环境:JDK1.6,MAVEN,tomcat,eclipse

源码地址:http://files.cnblogs.com/files/xiluhua/designPattern.rar

欢迎亲们评论指教。

建造者模式

标签:

原文地址:http://www.cnblogs.com/xiluhua/p/4413723.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!