zoukankan      html  css  js  c++  java
  • Chapter 13 建造者模式

    建造者模式又叫生成器模式:将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。

    代码:

    package xiao;

    import java.util.ArrayList;
    import java.util.List;
    class Product{
        List<String> parts = new ArrayList<String>();
        public void add(String part){
            parts.add(part);
        }
        public void show(){
            System.out.println("begin----");
            for(String part : parts){
                System.out.println(part);
            }
        }
    }
    abstract class Builder{
        protected abstract void BuildPartA();
        protected abstract void BuildPartB();
        protected abstract Product getResult();
    }
    class ConcreteBuilder1 extends Builder{
        private Product product = new Product();
        public void BuildPartA(){
            product.add("equipment A");
        }
        public void BuildPartB(){
            product.add("equipment B");
        }
        protected Product getResult(){
            return product;
        };
    }
    class ConcreteBuilder2 extends Builder{
        private Product product = new Product();
        public void BuildPartA(){
            product.add("equipment X");
        }
        public void BuildPartB(){
            product.add("equipment Y");
        }
        protected Product getResult(){
            return product;
        };
    }
    class Director{
        public void construct(Builder builder){
            builder.BuildPartA();
            builder.BuildPartB();
        }
    }
    public class abc {
        public static void main(String[] args) {
            Director director = new Director();
            Builder b1 = new ConcreteBuilder1();
            Builder b2 = new ConcreteBuilder2();
            director.construct(b1);
            Product p1 = b1.getResult();
            p1.show();
            director.construct(b2);
            Product p2 = b2.getResult();
            p2.show();
        }
    }

  • 相关阅读:
    发红包案列——继承和集合
    抽象类
    方法重写
    继承——访问成员变量,访问成员方法,访问构造方法
    js异步计时器
    栈(stack)和堆(heap)
    高并发和多线程概念
    集群、负载均衡、分布式、微服务
    Redis性能监控
    Redis配置
  • 原文地址:https://www.cnblogs.com/tuifeideyouran/p/3734241.html
Copyright © 2011-2022 走看看