工厂方法模式(Factory Method):
定义一个创建产品对象的工厂类,由该工厂统一创建继承了同一个接口的多个产品对象。
根据创建策略的不同,又分为3种类型。
->工厂方法模式:为普通的工厂方法模式。
->多个工厂方法模式:提供了多个工厂方法,分别创建不同的产品对象.
->静态工厂方法模式:工厂方法是静态的,不需要实例化工厂即可创建产品对象。
代码分析:
●定义接口
public interface Animal{
public int sale();
}
●定义三个具体实现类(数目随意)
//养猪
public class Pig implements Animal{
int price = 10;//价格
int weight = 200;//重量
public int sale(){
return price * weight;
}
}
//养鸡
public class Chicken implements Animal{
int price = 5;//价格
int weight = 20;//重量
int egg = 20;//鸡蛋
public int sale(){
return price * weight + egg;
}
}
//养羊
public class Sheep implements Animal{
int price = 10;//价格
int weight = 100;//重量
int wool = 50;//羊毛
public int sale(){
return price * weight + wool;
}
}
●工厂方法模式 类
public class Farm1{
public Animal produce(String type){
if("pig".equals(type)){return new Pig();}
else if("chicken".equals(type)){return new Chicken();}
else{return new Sheep();}
}
}
●多个工厂方法模式 类
public class Farm2{
public Animal producePig(){return new Pig();}
public Animal produceChicken(){return new Chicken();}
public Animal produceSheep(){return new Sheep();}
}
●静态工厂方法模式 类
public class Farm3{
public static Animal producePig(){return new Pig();}
public static Animal produceChicken(){return new Chicken();}
public static Animal produceSheep(){return new Sheep();}
}
省略测试代码,写得累啊
●何时使用工厂方法模式
工厂方法模式的核心是工厂类,这个类包含了创建产品的决策策略,它可以决定如何和何时创建什么产品对象。
工厂方法模式应用场景:凡是出现了大量的产品需要创建,并且具有共同的接口时,可以通过工厂方法模式进行创建。
java中的应用有:Swing中的静态工厂类BorderFactory.
分享到:
相关推荐
java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式...
Java 经典设计模式讲解以及项目实战 设计模式简介:主要介绍各种设计模式的概念和运用场景等 设计模式综合运用:主要是笔者在实际工作中运用到的一些设计模式综合运用事例的提炼 Spring设计模式简介:主要是讲述...
java设计模式 工厂方法模式uml类图,一张图就让你秒懂工厂方法模式
JAVA 设计模式: 工厂模式 代理模式 迭代模式 责任链模式 源码
例题简单的阐述了Java工厂模式的概念,有利于读者更好地了解Java工厂模式
工厂方法模式和简单工厂模式在结构上的不同是很明显的。工厂方法模式的核心是一个抽象工厂类,而简单工厂模式把核心放在一个具体类上。工厂方法模式可以允许很多具体工厂类从抽象工厂类中将创建行为继承下来,从而...
java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂
这个是http://blog.csdn.net/dawanganban/article/details/9877593博客中java设计模式的源代码。下载前请先看《设计模式——工厂方法模式》一文。
Java实现的工厂模式,抽象工厂,工厂方法模式
Java设计模式05工厂方法模式
用myeclipse开发的java设计模式课程设计,课题内容为西瓜工厂,包含四个设计模式,单例模式、代理模式、建造者模式和抽象工厂模式,有较好的图形界面,文档内附有完整代码,适用于新手学习。
章节介绍:1、爪哇语言结构性模式之变压器模式介绍 2、爪哇语言抽象工厂创立性模式介绍 3、工厂方法创立性模式介绍 4、单态创立性模式介绍 5、单态创立性模式介绍 6、观察者模式介绍7、责任链模式 8、设计模式之...
通过实际例子说明工厂方法模式,并解释工厂方法的原理,特点和使用场景。
Java设计模式中的工厂模式,MainDemo.java 是项目演示入口
Java设计模式共有23种,分别为:抽象工厂模式、建造模式、工厂方法模式、原型模式、单例模式、外观模式、适配器模式、桥接模式、组合模式、装饰模式、享元模式、代理模式、命令模式、解释器模式、访问者模式、迭代子...
《java设计模式》课后习题及模拟试题答案
设计模式之工厂模式Java实现和类设计图,包括简单工厂模式、工厂方法模式和抽象工厂模式
使用5种设计模式完成的一个点单系统,显示不同系列下的所有商品,点击选择冰度甜度之后添加到订单中,计算总金额,下单之后发送订单到门店的后厨制作商品。使用了抽象工厂模式、装饰模式、单例模式、代理模式、原型...
Java设计模式之工厂模式 Java设计模式之工厂模式