科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件java设计模式之Builder(解耦过程和部件)

java设计模式之Builder(解耦过程和部件)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

 Builder模式定义:  将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.

作者:中国IT实验室 来源:中国IT实验室 2007年8月26日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
 Builder的具体实现ConcreteBuilder:
  通过具体完成接口Builder来构建或装配产品的部件;
  定义并明确它所要创建的是什么具体东西;
  提供一个可以重新获取产品的接口:
  
  public class ConcreteBuilder implements Builder {
  
    Part partA, partB, partC;
    public void buildPartA() {
      //这里是具体如何构建partA的代码
  
    };
    public void buildPartB() {
      //这里是具体如何构建partB的代码
    };
     public void buildPartC() {
      //这里是具体如何构建partB的代码
    };
     public Product getResult() {
      //返回最后组装成品结果
    };
  
  }
  
  复杂对象:产品Product:
  
  public interface Product { } 
  
  复杂对象的部件:
  
  public interface Part { }
  
  我们看看如何调用Builder模式:
  ConcreteBuilder builder = new ConcreteBuilder();
  Director director = new Director( builder );
  
  director.construct();
  Product product = builder.getResult();
  
  Builder模式的应用
  在Java实际使用中,我们经常用到"池"(Pool)的概念,当资源提供者无法提供足够的资源,并且这些资源需要被很多用户反复共享时,就需要使用池.
  
  "池"实际是一段内存,当池中有一些复杂的资源的"断肢"(比如数据库的连接池,也许有时一个连接会中断),如果循环再利用这些"断肢",将提高内存使用效率,提高池的性能.修改Builder模式中Director类使之能诊断"断肢"断在哪个部件上,再修复这个部件.
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章