zoukankan      html  css  js  c++  java
  • 抽象工厂模式

    抽象工厂模式在工厂模式的基础上又增加了一层抽象。将抽象工厂模式与工厂模式比较,很明显是添加了一个新的抽象层。抽象工厂是一个创建其他工厂的超级工厂。我们可以把它叫做“工厂的工厂”。

    代码:

    interface CPU {
        void process();
    }
      
    interface CPUFactory {
        CPU produceCPU();
    }
      
    class AMDFactory implements CPUFactory {
        public CPU produceCPU() {
            return new AMDCPU();
        }
    }
      
    class IntelFactory implements CPUFactory {
        public CPU produceCPU() {
            return new IntelCPU();
        }
    }
      
    class AMDCPU implements CPU {
        public void process() {
            System.out.println("AMD is processing...");
        }
    }
      
    class IntelCPU implements CPU {
        public void process() {
            System.out.println("Intel is processing...");
        }
    }
      
    class Computer {
        CPU cpu;
      
        public Computer(CPUFactory factory) {
            cpu = factory.produceCPU();
            cpu.process();
        }
    }
      
    public class Client {
        public static void main(String[] args) {
            new Computer(createSpecificFactory());
        }
      
        public static CPUFactory createSpecificFactory() {
            int sys = 0; // based on specific requirement
            if (sys == 0)
                return new AMDFactory();
            else
                return new IntelFactory();
        }
    }
  • 相关阅读:
    Python爱心动画GIF
    R学习-8.Logic
    R学习-7.Matrices and Data Frames
    R学习-6.Subsetting Vectors
    R学习-5.Missing Values
    R学习-4.Vectors
    R学习-3.sequence of numbers
    R学习-2.Workspace and Files
    R学习-1.Basic Building Blocks
    通过生物学数据预测年龄-1
  • 原文地址:https://www.cnblogs.com/jibingeXper/p/3475684.html
Copyright © 2011-2022 走看看