• [译]Java 设计模式之工厂


    (文章翻译自Java Design Pattern: Factory)

    1.Java工厂模式的来历

    工厂设计模式用于创建基于不同参数的对象。下面的例子就是在一个工厂里创建一个人。如果我们向工厂要一个boy,工厂就会生产一个boy;如果我们向工厂要一个girl,工厂就会生产一个girl。基于这些不同的参数,工厂就会生产不同的东西。

    2.工厂模式类图

    factory-design-pattern

    3.工厂模式Java代码

    interface Human {
    	public void Talk();
    	public void Walk();
    }
     
     
    class Boy implements Human{
    	@Override
    	public void Talk() {
    		System.out.println("Boy is talking...");		
    	}
     
    	@Override
    	public void Walk() {
    		System.out.println("Boy is walking...");
    	}
    }
     
    class Girl implements Human{
     
    	@Override
    	public void Talk() {
    		System.out.println("Girl is talking...");	
    	}
     
    	@Override
    	public void Walk() {
    		System.out.println("Girl is walking...");
    	}
    }
     
    public class HumanFactory {
    	public static Human createHuman(String m){
    		Human p = null;
    		if(m == "boy"){
    			p = new Boy();
    		}else if(m == "girl"){
    			p = new Girl();
    		}
     
    		return p;
    	}
    }
    

    4.在Java标准库中的工厂设计模式

    基于不同的参数,getInstance()返回了不同的Calendar实例

    java.util.Calendar - getInstance()
    java.util.Calendar - getInstance(TimeZone zone)
    java.util.Calendar - getInstance(Locale aLocale)
    java.util.Calendar - getInstance(TimeZone zone, Locale aLocale)

    java.text.NumberFormat - getInstance()
    java.text.NumberFormat - getInstance(Locale inLocale)

  • 相关阅读:
    jUnit4初探(1)
    关于冒泡排序与选择排序
    我对直接插入排序的一点理解
    Java中的Scanner类
    String数组与字符串类
    Redis知识点详解
    MySQL操作命令详解
    java中常见面试题整理
    Redis的安装部署
    zookeeper的伪集群部署步骤
  • 原文地址:https://www.cnblogs.com/zhangminghui/p/4214722.html
Copyright © 2020-2023  润新知