0

0

java中关于工厂模式的详细介绍

王林

王林

发布时间:2019-11-25 17:45:25

|

2686人浏览过

|

来源于CSDN

转载

java中关于工厂模式的详细介绍

工厂模式分类:

1)简单工厂模式(Simple Factory)

2)工厂方法模式(Factory Method)

3)抽象工厂模式(Abstract Factory)

相关视频教程推荐:java学习

立即学习Java免费学习笔记(深入)”;

简单工厂模式

简单工厂模式又称静态工厂方法模式。重命名上就可以看出这个模式一定很简单。它存在的目的很简单:定义一个用于创建对象的接口。

 1) 工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现。 

 2) 抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现。 

 3) 具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现。 

抽象工厂模式:

抽象工厂模式的用意为:给客户端提供一个接口,可以创建多个产品族中的产品对象

而且使用抽象工厂模式还要满足一下条件:

凡人网络购物系统jsp版(JspShop)
凡人网络购物系统jsp版(JspShop)

基于jsp+javabean+access(mysql)三层结构的动态购物网站,v1.2包含v1.0中未公开的数据库连接 的java源文件 一,网站前台功能: 产品二级分类展示:一级分类--二级分类--产品列表--详细介绍(名称,图片,市场价,会员价,是否推荐,功能介绍等) 产品搜索:关键字模糊搜索 定购产品:选择商品--确认定购--填写收货人信息--选择付款方式--订单号自动生成(限登录用户)

下载

1)系统中有多个产品族,而系统一次只可能消费其中一族产品。

2)同属于同一个产品族的产品以其使用。

抽象工厂模式的各个角色(和工厂方法的如出一辙):

1)抽象工厂角色: 这是工厂方法模式的核心,它与应用程序无关。是具体工厂角色必须实现的接口或者必须继承的父类。在java中它由抽象类或者接口来实现。

代码呈现:

实例:面条工厂 实现工厂模式
···

下面展示一些 刀削面 代码片

package am2;

public class Daoxiaomian extends Miantiao{
	
	public void show(){
		System.out.println("我生产刀削面");
	}

}

下面展示一些 工厂模式 代码片

package am2;
/**
 * 工厂模式
 * @author hadoop
 *
 */
public class Factory {

	public static final String XIMIANTIAO="ximiantiao";
	public static final String KUANMIANTIAO="kuanmiantiao";
	public static final String DAOXIAOMIAN="daoxiaomian";
	
	public static Miantiao getMiantiao(String name){
		Miantiao miantiao = new Miantiao();
		switch(name){
		case "ximiantiao":
			miantiao =  new Ximiantiao();
			break;
		case "kuanmiantiao":
			miantiao =  new Kuanmiantiao();
			break;
		case "daoxiaomian":
			miantiao =  new Daoxiaomian();
			break;
		}
		return miantiao ;
	}

}

下面展示一些 宽面条 代码片

package am2;

public class Kuanmiantiao extends Miantiao{
	
	public void show(){
		System.out.println("我生产宽面条");
	}

}

下面展示一些 实例化 代码片

package am2;
public class Miantiao {
public  void show(){
}
}

下面展示一些 细面条 代码片

package am2;

public class Ximiantiao extends Miantiao{
	
	public void show(){
		System.out.println("我生产细面条");
	}

}

下面展示一些 工厂模式 测试类 代码片。 从工厂中获取各种面条 代码片

package am2;
/**
 * 工厂模式,我想从工厂获取到各种面条
 * 
 * @author hadoop
 *
 */
public class Test {

	public static void main(String[] args) {
		Miantiao miantiao = Factory.getMiantiao(Factory.XIMIANTIAO);
		miantiao.show();
		Miantiao miantiao1 = Factory.getMiantiao(Factory.KUANMIANTIAO);
		miantiao1.show();
		Miantiao miantiao2 = Factory.getMiantiao(Factory.DAOXIAOMIAN);
		miantiao2.show();

	}

}

相关文章推荐:java语言入门

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vlookup函数使用大全
vlookup函数使用大全

本专题整合了vlookup函数相关 教程,阅读专题下面的文章了解更多详细内容。

26

2025.12.30

金山文档相关教程
金山文档相关教程

本专题整合了金山文档相关教程,阅读专题下面的文章了解更多详细操作。

28

2025.12.30

PS反选快捷键
PS反选快捷键

本专题整合了ps反选快捷键介绍,阅读下面的文章找到答案。

25

2025.12.30

表格中一行两行的方法
表格中一行两行的方法

本专题整合了表格中一行两行的相关教程,阅读专题下面的文章了解更多详细内容。

3

2025.12.30

cpu温度过高解决方法大全
cpu温度过高解决方法大全

本专题整合了cpu温度过高相关教程,阅读专题下面的文章了解更多详细内容。

5

2025.12.30

ASCII码介绍
ASCII码介绍

本专题整合了ASCII码相关内容,阅读专题下面的文章了解更多详细内容。

31

2025.12.30

GPS是什么
GPS是什么

本专题整合了GPS相关内容,阅读专题下面的文章了解更多详细内容。

3

2025.12.30

wifi拒绝接入
wifi拒绝接入

本专题整合了wifi拒绝接入相关教程,阅读下面的文章了解更多详细方法。

9

2025.12.30

丰网速运介绍
丰网速运介绍

本专题整合了丰网速运查询入口以及相关内容,阅读专题下面的文章了解更多内容。

3

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 2.1万人学习

C# 教程
C# 教程

共94课时 | 5.7万人学习

Java 教程
Java 教程

共578课时 | 39.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号