zoukankan      html  css  js  c++  java
  • [译]Java 设计模式之抽象工厂

    (文章翻译自Java Design Pattern: Abstract Factory)
    抽象工厂模式针对工厂模式增加了抽象层。如果我们使用抽象工厂模式和工厂模式比较的话,很明显抽象工厂模式增加了一个新的抽象层。抽象工厂是一个创建了其他的工厂的超级工厂。我们可以称之为工厂的工厂。

    抽象工厂类图

    abstract-factory-design-pattern

    抽象工厂模式代码

    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();
        }
    }
    

    实际中使用的例子

    实际上,这个是现在的框架中很重要的内容。这就是关于的一个问题。

  • 相关阅读:
    linux: convmv =-======pkgs.org
    ETL__pentaho__SPOON_PDI
    jira-source--plugin
    MAC OSX
    android gradle,groovy--https://blog.csdn.net/hebbely/article/details/79074460
    CentOS下Redis服务器安装配置
    mysql db imported into mongodb
    mongdb ---shard
    高精度整数
    CentOS 配置 Hadoop 2.6.5
  • 原文地址:https://www.cnblogs.com/zhangminghui/p/4214725.html
Copyright © 2011-2022 走看看