博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
静态方法工厂模式
阅读量:6958 次
发布时间:2019-06-27

本文共 1162 字,大约阅读时间需要 3 分钟。

工厂模式有三种方法来实现,一种是通过传入参数的名称来决定创建哪一个产品,这种方法有很大的缺点,就是如果传入的产品名称如果不小心错误的话,就是无法来创建我们想得到的产品的。另一种是方法工厂模式,这种工厂模式中对应每一个产品有一个创建方法,这样创建了工厂实例以后,直接通过工厂实例就可以调用相应的产品的创建方法来创建我们需要的产品。但是这种工厂模式需要创建工厂实例,一个工厂可能使用的地方有很多,一直创建实例不好,所以就有了静态方法工厂模式。

package mode.factory.static_method_factory;/** *  * 抽象的水果类(一个工厂,生产的肯定是某一类相同的产品,我们这里就是一个水果加工厂) *  * */public interface Fruit {	/* 水果都可以吃的 */	public void eat();}

下面是两个水果类的具体实现:

package mode.factory.static_method_factory;public class Apple implements Fruit {	@Override	public void eat() {		System.out.println("吃苹果");	}}
package mode.factory.static_method_factory;public class Orange implements Fruit {	@Override	public void eat() {		System.out.println("吃橘子");	}}
有了这两种水果以后我们就可以创建我们的工厂,来生产这些水果了。

package mode.factory.static_method_factory;public class FruitFactory {	/* 苹果生产线 */	public static Fruit getApple() {		return new Apple();	}	/* 橘子生产线 */	public static Fruit getOrange() {		return new Orange();	}}
工厂投产了,生产出的产品直接试吃看看;

package mode.factory.static_method_factory;public class Test {	public static void main(String[] args) {		FruitFactory.getApple().eat();		FruitFactory.getOrange().eat();	}}

转载于:https://www.cnblogs.com/qzmpc/p/6339562.html

你可能感兴趣的文章
iOS审核 iPhone screenshots do not display the app in the correct device frame
查看>>
MySQL数据库的索引原理、与慢SQL优化的5大原则
查看>>
新装服务器系统非常卡的原因
查看>>
知道它们,你就能玩转SASS
查看>>
node学习笔记一
查看>>
AOP基本概念
查看>>
Linux里五种I/O模型
查看>>
global mapper 地图
查看>>
用 Python 实现抖音尬舞机
查看>>
设计模式1 - 简单工厂模式
查看>>
Mac 上使用jdb 调试Android
查看>>
[译]你可能不需要Redux
查看>>
程序猿秃顶算工伤吗?
查看>>
SpringBoot 对多线程的支持
查看>>
【从蛋壳到满天飞】JS 数据结构解析和算法实现-二分搜索树(二)
查看>>
【通俗易懂】JWT-使用的可能正确姿势
查看>>
用 Feature First 的方式管理前端项目复杂度
查看>>
ARTS 第二周
查看>>
20道25K+Android工程师面试必问面试题
查看>>
前端面试系列-JS 基础知识点
查看>>