首页 > 其他 > 详细

设计模式之建造者模式

时间:2021-04-23 10:30:04      阅读:14      评论:0      收藏:0      [点我收藏+]

建造者模式

  1. 建造者模式结构图:

    技术分享图片

  2. 示例代码:

    public class BuilderTest {
    
        public static void main(String[] args) {
            ConcreteBuilder builder = new ConcreteBuilder();
            Product product =builder.builderPartA("partA")
                					.builderPartB("partB")
                					.builder();
            System.out.println(product);
        }
    
        // 抽象建造者
        public interface Builder{
            Builder builderPartA(String partA);
            Builder builderPartB(String partB);
            Product builder();
        }
    
        // 具体建造者
        public static class ConcreteBuilder implements Builder{
            private Product product = new Product();
            @Override
            public Builder builderPartA(String partA) {
                product.setPartA(partA);
                return this;
            }
    
            @Override
            public Builder builderPartB(String partB) {
                product.setPartB(partB);
                return this;
            }
    
            @Override
            public Product builder() {
                return product;
            }
        }
    
        // 产品
        @Data
        public static class Product {
    
            private String partA;
            private String partB;
    
        }
    
    }
    
  3. 总结:

    优点:封装性好,将构建与表示分离,扩展性好,便于控制细节;

    缺点:需要多创建一个建造者,如果产品内部发生变化,创建者也要修改,后期维护成本较大.

设计模式之建造者模式

原文:https://www.cnblogs.com/wqlken/p/14692055.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!