先上个简陋的类图,后面把rose专业的画类图软件装上,自己为了学习留个笔记,方便以后查找使用,以下的例子从构建一个Person展开。
Coding:
1、构建者接口设计
public interface IBuilder { public void buildHead(); public void buildBody(); public void buildFoot(); public Person buildPerson(); }
2、Person实体类
public class Person { private String head; private String body; private String foot; public String getHead() { return head; } public void setHead(String head) { this.head = head; } public String getBody() { return body; } public void setBody(String body) { this.body = body; } public String getFoot() { return foot; } public void setFoot(String foot) { this.foot = foot; } }
3、构建一个普通人
public class HumanBuilder implements IBuilder { private Person person; public HumanBuilder() { this.person = new Person(); } @Override public void buildBody() { this.person.setBody("普通人的身体*****************"); } @Override public void buildFoot() { this.person.setFoot("普通人的脚*****************"); } @Override public void buildHead() { this.person.setHead("普通人的头*****************"); } @Override public Person buildPerson() { return this.person; } }
4、构建一个变形金刚
public class TransformerBuilder implements IBuilder { private Person person; public TransformerBuilder() { this.person = new Person(); } @Override public void buildBody() { this.person.setBody("变形金刚的身体*****************"); } @Override public void buildFoot() { this.person.setFoot("变形金刚的脚*****************"); } @Override public void buildHead() { this.person.setHead("变形金刚的头*****************"); } @Override public Person buildPerson() { return this.person; } }
5、建造者构建导向
//构建人的构建导向 public class PersonDirector { public Person constructorPerson(IBuilder builder) { builder.buildHead(); builder.buildBody(); builder.buildFoot(); return builder.buildPerson(); } }
6、客户端调用
public class Client { public static void main(String[] args) { PersonDirector pd = new PersonDirector(); // Person p = pd.constructorPerson(new HumanBuilder()); Person p = pd.constructorPerson(new TransformerBuilder()); System.out.println(p.getHead()); System.out.println(p.getBody()); System.out.println(p.getFoot()); } }
7、构建者模式和工厂模式有其相通的地方,有兴趣的朋友可以对照着工厂模式和构建者模式做一个比较,构建者模式在某些应用场景下是非常适合和构建者模式结合使用的。
相关推荐
总的来说,HeadFirst设计模式的学习笔记2关于观察者模式的演示,旨在帮助开发者理解如何使用观察者模式来构建可扩展的系统。通过实际的代码示例,我们可以更深入地掌握这一模式,并将其应用到日常开发中,提升代码的...
在这个“设计模式之美”的学习笔记中,我们将探讨一些主要的设计模式,以及它们在实际开发中的应用。 首先,我们从创建型模式开始。这类模式主要用于对象的创建,如单例模式(Singleton)、工厂模式(Factory ...
《设计模式学习笔记》主要探讨了GOF的23种设计模式以及类设计的基本原则,旨在帮助开发者理解和应用这些经过时间验证的成熟解决方案。设计模式是面向对象软件设计中的核心概念,它们为解决常见的设计问题提供了标准...
在《23个设计模式图解--学习笔记》中,我们探讨了这些模式,以便于理解和应用到实际开发中。以下是这23个设计模式的详细说明: 1. **工厂方法**(Factory Method):定义一个用于创建对象的接口,让子类决定实例化...
这个“Java版设计模式学习笔记”涵盖了多种设计模式,旨在帮助开发者更好地理解和应用这些模式。让我们深入探讨一下其中可能包含的关键知识点。 一、单例模式 单例模式确保一个类只有一个实例,并提供一个全局访问...
《HeadFirst设计模式学习笔记》是一份详尽的资料,旨在帮助读者深入理解并掌握设计模式这一编程领域的核心概念。设计模式是软件工程中的一种最佳实践,它在解决常见问题时提供了一种标准的解决方案,使得代码更易于...
通过以上内容,我们可以看到韩顺平老师的Java设计模式笔记涵盖了设计模式的基础概念、常见面试题解析、设计原则等内容,并通过具体案例来阐述设计模式的实际应用价值,旨在帮助学习者深刻理解并掌握设计模式,从而在...
这个“23种设计模式学习笔记”文档将引导你深入理解这些模式,并帮助你在实际编程中有效地应用它们。以下是对23种设计模式的详细解读: 1. **单例模式**:确保一个类只有一个实例,并提供全局访问点。它常用于控制...
### 《设计模式解析》第2版学习笔记关键知识点总结 #### 第一部分 面向对象软件开发简介 ##### 第一章 面向对象范型 - **面向对象范型概览**: - 本章通过对比结构化程序设计来引入面向对象的概念。 - 强调了...
设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决问题的...设计模式笔记中的内容应该涵盖了以上所述的各种模式,通过深入学习和实践,你可以将这些模式应用到实际项目中,提升自己的编程技能和设计能力。
在学习Java设计模式时,掌握其概念、应用、优点和缺点非常重要。设计模式是软件开发中经常使用的一种通用解决方案模板,用于解决特定上下文中的常见问题。它们源于设计模式的研究,通常被认为是软件设计中的最佳实践...
这个压缩包文件包含了23种设计模式的学习笔记和源码,旨在帮助开发者深入理解并熟练运用这些模式。以下是对每种设计模式的详细解释,以及它们在Java编程中的应用。 1. **单例模式**:确保一个类只有一个实例,并...
根据给定的信息“图解设计模式,结城浩著学习笔记”,我们可以推断出这份文档主要涉及了设计模式的学习和理解。《图解设计模式》是一本由日本著名程序员结城浩撰写的书籍,该书以图形化的方式深入浅出地讲解了软件...
这份"根据《JAVA与设计模式》整理的笔记及示例代码"涵盖了Java语言和设计模式的核心概念,旨在帮助开发者理解和应用这些模式。 一、设计模式的基本概念 设计模式是对在特定情境下软件设计问题的解决方案的一种描述...
设计模式和设计原则共同构成了软件设计的基石,帮助开发者构建出可维护、可扩展、可复用的高质量软件。在实际开发过程中,灵活运用这些模式和原则,可以有效提升代码的结构和质量,减少未来可能出现的问题,使软件...
韩顺平老师的课程通过实际案例、图解和源码分析,逐步引导学习者理解并掌握设计模式。课程的目标是让学员不仅能理解模式的本质,还能在实际工作中灵活运用,优化程序结构,解决实际问题。设计模式的学习对于成长为一...
这份"图解java设计模式_学习笔记"是针对Java开发者深入理解和应用设计模式的重要资源。在这里,我们将深入探讨Java设计模式的核心概念、分类以及它们在实际开发中的应用。 设计模式分为三大类:创建型、结构型和...
### Head.First 设计模式学习笔记知识点总结 #### 一、设计模式概述 设计模式是一种用于解决软件设计中常见问题的标准化方法。通过采用设计模式,开发者可以提高代码的复用性、灵活性和可维护性。《Head First 设计...
### 设计模式学习笔记 #### 引言 设计模式(Design Patterns)是在软件设计领域内广泛应用的一种实践指南,它提供了一系列解决常见问题的方案。设计模式可以被理解为面向对象软件设计的经验总结,是对特定面向对象...