简单地说,就好象我要一座房子住,可是我不知道怎么盖(简单的砌墙,层次较低),也不知道怎么样设计(建几个房间,几个门好看,层次较高),于是我需要找一帮民工,他们会砌墙,还得找个设计师,他知道怎么设计,我还要确保民工听设计师的领导,而设计师本身也不干活,光是下命令,这里砌一堵墙,这里砌一扇门,这样民工开始建设,最后,我可以向民工要房子了。在这个过程中,设计师是什么也没有,除了他在脑子里的设计和命令,所以要房子也是跟民工要,记住了!
以下是richardluo的代码,我根据他的思路加上了相应的注释。
1,定义工人接口,就是能够完成建造房子任务的人的通用要求。
java 代码
-
-
- public interface Builder {
-
- public void makeWindow();
-
- public void makeFloor();
-
- public Room getRoom();
- }
2,定义设计师,他的职责是指挥房主指派给他的工人按照自己的设计意图建造房子。
java 代码
-
- public class Designer {
-
-
- public void order(Builder builder) {
- builder.makeWindow();
- builder.makeFloor();
- }
- }
3,民工,他负责具体事物的实施。
java 代码
-
-
- public class Mingong implements Builder {
- private String window="";
- private String floor="";
-
- public void makeWindow() {
- window=new String("window");
- }
-
- public void makeFloor(){
- floor=new String("floor");
- }
-
-
- public Room getRoom() {
- if((!window.equals(""))&&(!floor.equals(""))) {
- System.out.println("room ready!");
- return new Room();
- }
- else return null;
- }
- }
4,房主,就是雇人,收房。
java 代码
-
- public class Client {
-
- public static void main(String[] args) {
- Builder mingong = new Mingong();
- Designer designer = new Designer();
- designer.order(mingong);
- mingong.getRoom();
- }
- }
分享到:
相关推荐
本人理解的builder模式
Builder模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 统设计中,有时候面临着一个“复杂系统”的创建工作,该对象通常由各个部分的子对象用一定的算法构成,或者说按一定的...
23种设计模式之四(创建型模式)Builder模式
将一个复杂对象的构造与它的表示分离,使同样的构建 过程可以创建不同的表示,这样的设计模式被称为建造者模式。
1,建造模式属于对象的创建模式,是将一个产品的内部表象和产品的生产分割出来 2.使用原因:为了将构建复杂对象的过程和它的不见解耦; 3 使用情况:建造模式利用一个导演着对象和一个具体建造者对象一个一个建造出...
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要... 这是第4节:创建型模式Builder生成器模式
JAVA设计模式-day2,请的行业大能讲得课程,涉及:创建模式(5种: 1、 工厂方法模式(Factory Method); 2、 抽象工厂模式; 3、 单例模式(Singleton) • 4、 建造者模式(Builder); 5、 原型模式(Prototype...
3.2 Builder(生成器)—对象创建型模式 633.3 Factory Method(工厂方法)—对象创建型模式 70 3.4 Prototype(原型)—对象创建型模式 87 3.5 Singleton(单件)—对象创建型模式 84 3.6 创建型模式的讨论 89 第 4...
创建模式Factory,Prototype,Builder,Singleton结构模式,行为模式.......
因此,在简单的模式下,您可以非常轻松地创建表单,但是如果表单非常复杂,您仍然可以使用原始表单API。 您甚至可以混合使用antd-form-builder和原始API。元驱动除了简化的API(有助于轻松创建表单)之外,如果...
易于使用,创建,升级,维护......在可以使用Vue-Form-Builder时,为什么需要对表单进行编码?通过一些额外的步骤来渲染它:D 好处: 开发中的代码更少(无需自己执行<form> <div> <input> .... </div> ...
C#面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式) 体验课程
C#视频-面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式)
3.2 BUILDER(生成器)——对象创建型模式 3.3 FACTORY METHOD(工厂方法)——对象创建型模式 3.4 PROTOTYPE(原型)——对象创建型模式 3.5 SINGLETON(单件)——对象创建型模式 第四章 结构型模式 4.1 ADAPTER...
1.4 Builder模式 1.5 Prototype模式 2 结构型模式 2.1 Bridge模式 2.2 Adapter模式 2.3 Decorator模式 2.4 Composite模式 2.5 Flyweight模式 2.6 Facade模式 2.7 Proxy模式 3 行为模式.....55 3.1 Template模式...
这是“ Json Schema”的可视化构建器,可导出为生成的“ Json Schema”而生成的“ Json Schema”,然后将该模式的结构粘贴到您的 为什么? 因为我需要可视地创建表单,才能使用react-jsonschema-form语法将其导出...
创建型模式 (100%) 设计模式面面观(5):抽象工厂模式(AbstractFactory)-创建型模式 (100%) 设计模式面面观(6):生成器模式(Builder)-创建型模式 (100%) 设计模式面面观(7):原型模式(Prototype...
React JSON模式表单编辑器 该存储库包含一个称为FormBuilder的React JS组件的代码,该代码允许用户通过拖放,编辑卡元素来直观地配置。 该工具的一个示例用例可能是构建一个允许用户创建和分发自己的调查的应用程序...
NULL 博文链接:https://quicker.iteye.com/blog/587588
Serafin Schema Builder是一个库,可简化JSON Schema及其关联的Typescript类型的创建。 安装 npm i @serafin/schema-builder 为什么选择架构生成器? JSON模式是Open API的基础,因此它对于Serafin框架确实非常重要...