`
tomrose
  • 浏览: 145241 次
  • 来自: ...
社区版块
存档分类
最新评论

Java中的模式 --- 构造者模式

阅读更多
一,一般来说你要做一件复杂的事情的时候,把它分成多个小的部分来做是比较好的方法,
把每个小部分做完,然后结合成一个完整的事情。例如生产一辆汽车,你是一个个零件
生产完了,才组装成一辆辆汽车。这个就是建造模式的工作。
二,建造模式的角色
1、抽象建造者
2、具体构造者
3、导演者
4、产品角色
三、实现代码 :
?1抽象构造者:
?2abstract?public?class{
?3????//构造零件
?4????public?abstract?void?buildPart1();
?5????//构造零件
?6????public?abstract?void?buildPart2();
?7????//返还商品
?8????public?abstract?Product?retrieveResult();
?9????
10}

11具体构造者:
12public?class?ConcreteBuilder?extends?Builder{
13????private?Product?product?;
14????
15????public?Product?retrieveResult(){
16????????product=?new?Product();
17????????product.setPart1(buildPart1());
18????????product.setPart2(buildPart2());
19????????return?product;
20????}

21????public?Object?buildPart1(){
22????????//构造part1
23????????Object?part1?=?;
24????????return?part1;
25????}

26????public?Object?buildPart2(){
27????????//构造part2
28????????Object?part2?=?;
29????????return?part2;
30????}

31}

32public?class?Product{
33????Object?Part1;
34????Object?Part2;
35????public?void?setPart1(Object?Part1){
36????????this.part1?=?part1;
37????}

38????public?void?setPart2(Object?Part2){
39????????this.part2?=?part2;
40????}

41}

42//导演者
43public?class?Director{
44????private?Builder?builder;
45????public?void?construct(){
46????????builder?=?new?ConcreteBuilder();
47????????builder.retrieveResult();
58????}

49}



dreamstone 2007-01-07 15:19 发表评论
分享到:
评论

相关推荐

    java_构造者模式

    本人用java写的构造者模式的小demo,源码里有详细的注释,保证一看就懂。欢迎交流指点。

    Java设计模式-单例模式详解

    Java设计模式-单例模式详解 单例模式是 Java 设计模式中的一种常用的设计模式,旨在保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式的目的是为了保证在一个进程中,某个类有且仅有一个实例。 ...

    面向对象的软件构造导论实验课---IntelliJ IDEA软件实现---Java语言编写---单机版飞机大战

    面向对象的软件构造导论实验课---IntelliJ IDEA软件实现---Java语言编写---单机版飞机大战。 这个是单机版飞机大战的完整文件包,解压后即可运行。 不过还是,建议大家还是去看我写的文章: ...

    设计模式(JAVA语言实现)--20种设计模式附带源码PPT模板.pptx

    5代理模式:类似装饰器模式,区别在于类的构造代理模式:类似装饰器模式,区别在于类的构造 设计模式(JAVA语言实现)--20种设计模式附带源码PPT模板全文共22页,当前为第6页。 logo 6外观模式:没有接口,类单独...

    java源码包---java 源码 大量 实例

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java设计模式

    22.4.1 Java世界中的观察者模式 22.4.2 项目中真实观察者模式 22.4.3 订阅发布模型 22.5 最佳实践 第23章 门面模式 23.1 我要投递信件 23.2 门面模式的定义 23.3 门面模式的应用 23.3.1 门面模式的优点 23.3.2 门面...

    java设计模式之多类java-设计模式之:多例(Multiton)模式

    java设计模式之多例(Multiton)模式是对象的创建模式之一,多例模式中的多例类可以有多个实例,且多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。多例模式的特点是:多例类可以有多个实例,多例类必须...

    基于JAVA毕业设计-JAVA Smart系统-题库及试卷管理模块的设计与开发(源代码+论文).rar

    基于JAVA毕业设计-JAVA Smart系统-题库及试卷管理模块的设计与开发(源代码+论文).rar SMART系统是一个采用新思路、新架构、新技术开发出来的一个新型智能在线考试信息管理系统,该系统主要实现了学生在线考试与评估...

    Java Bug模式详解

    Java.Bug模式详解 第1章 混乱环境下的灵活方法 1.1 软件设计、实现和维护的趋势 1.1.1 对于稳定、安全 系统的需求增加 1.1.2 传统软件工程技 术的局限性 1.1.3 开放源代码的软 件项目的可利用性 1.1.4 对于...

    java版本的设计模式的实现demo

    在Java中,可以通过私有构造函数、静态私有变量和公共静态方法来实现单例模式。 3. 工厂模式 工厂模式是另一种常用的创建型模式,它将对象的创建与使用进行了解耦。根据不同的情况,可以实现简单工厂模式、工厂方法...

    Java-PHP-C#

    正如上面说的,正则表达式看起来非常复杂,让人害怕,大多数的PHP初学者都会跳过这里,继续下面的学习,但是PHP中的正则表达式有着可以利用模式匹配找到符合条件的字符串、判断字符串是否合乎条件或者用指定的字符...

    Java面试宝典-经典

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...

    Java设计模式面试题汇总

    包括责任链模式、命名模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板模式、访问者模式等。 常见设计模式: 工厂模式:工厂模式指由一个工厂对象来创建实例,客户端...

    Builder模式在Java中的应用

    在设计模式中对Builder模式的定义是用于构建复杂对象的一种模式,所构建的对象往往需要多步初始化或赋值才能完成。那么,在实际的开发过程中,我们哪些地方适合用到Builder模式呢?其中使用Builder模式来替代多参数...

    AIC的Java课程1-6章

    第12章 IO与串行化 2课时  了解Java IO 中类的层次结构,介绍Java IO采用的装饰器模式。  学会使用File,FileReader,BufferedReader,FileWriter,BufferedWriter,PrintWriter等类输入...

    Java基础--Bank项目代码

    由8组由浅入深的模块构成,应用如下技术:面向对象的封装性、构造器、引用类型的成员变量、异构数组、继承、多态、方法的重载、方法的重写、包装类、单子模式、异常、集合。

    java-design-patterns

    Java设计模式设计模式是对常见软件问题的精心描述的解决方案。 好处设计模式已经定义,并提供了行业标准的方法来解决重复出现的问题。 使用设计模式可提高可重用性,从而导致更健壮和高度可维护的代码。 它有助于...

    JAVA多线程--信号量(Semaphore)_.docx

    在Java中,还可以设置该信号量是否采纳公正模式,假如以公正方式执行,则线程将会按到达的挨次(FIFO)执行,假如是非公正,则可以后恳求的有可能排在队列的头部。 JDK中定义如下: ``` Semaphore(int permits, ...

    Java 动态代理.md

    动态代理在 Java 中有着广泛的应用,比如 AOP 的实现原理、RPC远程调用、Java 注解对象获取、日志框架、全局性异常处理、事务处理等。 在了解动态代理前,我们需要先了解一下什么是代理模式。 代理模式 代理模式...

    java-servlet-api.doc

    所有的JavaServlet都会直接地或间接地执行javax.servlet.Servlet接口,这样它才能在一个Servlet引擎中运行。Servlet引擎是Web服务器按照JavaServletAPI定制的扩展。Servlet引擎提供网络服务,能够理解MIME请求,并...

Global site tag (gtag.js) - Google Analytics