设计模式 -- 建造者模式
发布日期:2021-05-14 12:39:09 浏览次数:21 分类:精选文章

本文共 4172 字,大约阅读时间需要 13 分钟。

���������������

������������������Builder Pattern������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1. ������������������������������������������

���������������������������������������������������������������������

2. ������������������������������������������������������

���������������������������������������������������������������

������������������������������

1. ������������������

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 + 1 = 12���������������

2. ������������������

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

3. ������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������������������������

1. ������������������Builder Interface���

���������������������������Builder���������������������������������������������������������������������

public interface Builder {
void builderName();
void builderHead();
void builderBody();
void builderColor();
Product BuilderProduct();
}

2. ������������������ConcreteBuilder���

ConcreteBuilder������Builder���������������������������������������������������������������������������������

public class MeiGuoBuilder implements Builder {
private Person person = new Person();
public void builderName() {
person.setName("���������");
}
public void builderHead() {
person.setHead("���������");
}
public void builderBody() {
person.setBody("������������");
}
public void builderColor() {
person.setColor("���������");
}
public Person getPerson() {
return person;
}
}

3. ��� functools���Director���

Director������������������������������������������������������������������������������������������������������

public class PersonDirector {
public Person constructPerson(Builder builder) {
builder.builderName();
builder.builderHead();
builder.builderBody();
builder.builderColor();
return builder.getPerson();
}
}

������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������������

PersonDirector pb = new PersonDirector();
Person meiguo = pb.constructPerson(new MeiGuoBuilder());
System.out.println(meiguo.getName()); // ������: ���������
System.out.println(meiguo.getHead()); // ������: ���������
System.out.println(meiguo.getBody()); // ������: ������������
System.out.println(meiguo.getColor()); // ������: ���������

���������������

Person china = pb.constructPerson(new ChinaBuilder());
System.out.println(china.getName()); // ������: ���������
System.out.println(china.getHead()); // ������: ���������������
System.out.println(china.getBody()); // ������: ������������
System.out.println(china.getColor()); // ������: ���������

������������

������������������������������������������������������

��������� ��������� ������������ ���������
----------
���������������
��������� ��������������� ������������ ���������
上一篇:设计模式 -- 模板方法模式
下一篇:设计模式 -- 代理模式 静态代理和动态代理

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月09日 10时44分30秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

递推方程与算法分析 2021-05-14
主定理的应用 2021-05-14
动态规划算法的迭代实现 2021-05-14
最优装载问题 2021-05-14
最大团问题 2021-05-14
圆排列问题 2021-05-14
课程总结 2021-05-14
认识CMake及应用 2021-05-14
CMake的主体框架 2021-05-14
微积分(三) 2021-05-14
Oracle 2021-05-14
软件工程应用 2021-05-14
数据科学 2021-05-14
论文报告/前沿文章 2021-05-14
Less 2021-05-14
函数与高级变量 2021-05-14
键盘事件 2021-05-14
弱监督 2021-05-14
二 召回算法 2021-05-14
2020-11月计划实施表 2021-05-14