简单工厂模式用于根据不同的参数创建不同的对象,比如人类工厂有个创建人类的方法,根据不同的参数,如果是boy则创建男孩对象,如果是girl则创建女孩对象。
设计模型:
示例代码:
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;
}
public static void main(String[] args) {
HumanFactory.createHuman("boy").Talk();
}
}
Java标准库中的 工厂模式随处可见,几乎所有的名为getInstance的方法都使用了工厂模式,如:
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)

本文详细解释了简单工厂模式的概念,通过实例代码展示了如何根据不同参数创建不同对象,例如创建男孩或女孩对象,并探讨了Java标准库中工厂模式的广泛使用。文章进一步阐述了工厂模式的思想价值,包括其在对象创建过程中的分层作用以及带来的维护和扩展便利。
797

被折叠的 条评论
为什么被折叠?



