
本文共 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()); // ������: ���������
������������
������������������������������������������������������
��������� ��������� ������������ ���������----------������������������������ ��������������� ������������ ���������
发表评论
最新留言
关于作者
