zoukankan      html  css  js  c++  java
  • [译]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)

  • 相关阅读:
    重定向请求
    json处理
    post请求
    get请求
    提交cookie登录
    进击的Python【第三章】:Python基础(三)
    进击的Python【第二章】:Python基础(二)
    进击的Python【第一章】:Python背景初探与Python基础(一)
    java 内存分析
    java--循环练习
  • 原文地址:https://www.cnblogs.com/zhangminghui/p/4214722.html
Copyright © 2011-2022 走看看