java中工厂模式的优缺点有哪些
短信预约 -IT技能 免费直播动态提醒
这篇文章将为大家详细讲解有关java中工厂模式的优缺点有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
简单工厂模式介绍:
概要:
简单工厂模式,又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,把产品的生产方法封装起来放进工厂类,工厂类可以根据参数的不同返回不同产品类的实例。工厂类就是用来生产产品的类,把生产产品的方法放到工厂类里面去,工厂类里面用switch语句控制生产哪种商品,使用者只需要调用工厂类的静态方法就可以实现产品类的实例化。
实现代码:
package scut.designmodel.SimpleFactoryPattern;//抽象产品类abstract class Product{ public abstract void Show();}//产品A类class ProductA extends Product{ @Override public void Show() { System.out.println("生产出了产品A"); }}//产品B类class ProductB extends Product{ @Override public void Show() { System.out.println("生产出了产品C"); }}//产品C类class ProductC extends Product{ @Override public void Show() { System.out.println("生产出了产品C"); }}//简单工厂类class Factory { public static Product Manufacture(String ProductName){ switch (ProductName){ case "A": return new ProductA(); case "B": return new ProductB(); case "C": return new ProductC(); default: return null; } }}//工厂产品生产流程public class SimpleFactoryPattern { public static void main(String[] args){ Factory mFactory = new Factory(); //客户要产品A try { mFactory.Manufacture("A").Show(); }catch (NullPointerException e){ System.out.println("没有这一类产品"); } //客户要产品B try { mFactory.Manufacture("B").Show(); }catch (NullPointerException e){ System.out.println("没有这一类产品"); } //客户要产品C try { mFactory.Manufacture("C").Show(); }catch (NullPointerException e){ System.out.println("没有这一类产品"); } //客户要产品D try { mFactory.Manufacture("D").Show(); }catch (NullPointerException e){ System.out.println("没有这一类产品"); } }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
java中工厂模式的优缺点有哪些
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
java中工厂模式的优缺点有哪些
这篇文章将为大家详细讲解有关java中工厂模式的优缺点有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。简单工厂模式介绍:概要: 简单工厂模式,又称为静态工厂方法(Static Fact
2023-05-31
web抽象工厂模式有哪些优缺点
这篇“web抽象工厂模式有哪些优缺点”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“web抽象工厂模式有哪些优缺点”文章吧。协
2023-06-19
java中有哪些工厂模式
今天就跟大家聊聊有关java中有哪些工厂模式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。简单工厂简单工厂模式是属于创建型模式,是工厂模式的一种。简单工厂模式是由一个工厂对象决定创建
2023-06-20
2024-04-02
java单例模式有哪些优缺点
Java单例模式的优点:1. 提供了对唯一实例的全局访问,方便了对该实例的控制和管理。2. 避免了重复创建对象,节省了系统资源。3. 可以实现对实例化对象的延迟加载,提高了系统的性能。Java单例模式的缺点:1. 违反了开闭原则,因为单例类
2023-10-11
php中FastCGI模式的优缺点有哪些
这篇文章给大家分享的是有关php中FastCGI模式的优缺点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、优点(1)从稳定性上看,FastCGI 模式是以独立的进程池来运行 CGI 协议程序,单独一个进
2023-06-15
使用java工厂模式的好处有哪些
使用Java工厂模式的好处包括:解耦:工厂模式可以将对象的创建和使用分离,客户端只需要关注接口和抽象类,无需关心具体的实现类,降低了客户端和具体类的耦合度。可扩展性:通过工厂模式,可以方便地添加新的产品类,只需要增加对应的具体工厂类即可,无
2024-02-29
2024-04-02
Java流式编程有哪些优缺点
Java流式编程的优点包括:1. 简化代码:流式编程能够将复杂的代码逻辑简化成一系列简洁的操作,提高代码的可读性和可维护性。2. 减少中间变量:使用流式编程可以避免使用大量的中间变量,减少内存使用和代码量。3. 并行处理:Java流式编程提
2023-10-10
2024-04-02
java swing有哪些优缺点
Java Swing是Java平台上的一个GUI工具包,具有以下优点和缺点。优点:1. 跨平台性:Java Swing可以在不同的操作系统上运行,保持相同的用户界面和功能。2. 定制性强:Swing提供了许多自定义组件和布局管理器,可以根据
2023-08-25
windump工具有哪些优缺点
Windump工具是Windows平台下的一个网络数据抓包工具,与Wireshark相似,它的优缺点如下:优点:界面友好:Windump的界面相对简单易懂,对于新手用户来说比较友好。轻量级:相比Wireshark的庞大安装包,Windu
2024-03-04
模板化的优点和缺点有哪些?
模板化:优点与缺点模板化是一种强大的编程技术,允许您创建可重复使用的代码块。它提供了一系列优点,但也存在一些缺点。优点:代码重用性:模板化使您可以创建通用代码,可在整个应用程序中重用,从而减少重复和维护工作。一致性:模板化确保代码段在不
2024-05-08
java分页的优缺点有哪些
Java分页的优点有:1. 实现简单:Java提供了丰富的分页功能,并且有很多现成的分页框架可以使用,开发者只需简单调用即可实现分页功能。2. 高效性能:Java分页的实现通常基于数据库查询语言(如SQL),可以利用数据库的查询优化机制,提
2023-09-16
2024-04-02
2024-04-02
java中抽象工厂模式与工厂方法模式的区别
一、简单工厂模式特点:1、它是一个具体的类,非接口 抽象类。有一个重要的create()方法,利用if或者 switch创建产品并返回。2、create()方法通常是静态的,所以也称之为静态工厂。缺点:1、扩展性差(我想增加一种面条,除了新增一个面条产品类,还
2015-05-09
java泛型有哪些优点和缺点
Java泛型的优点包括:类型安全:泛型提供了类型检查,可以在编译时检测到类型错误,减少了运行时出现的类型转换异常。代码复用:通过泛型可以编写通用的代码逻辑,可以对多种类型的对象进行操作,减少了重复代码的编写。简化代码:使用泛型可以让代码
2023-10-27
THINKPHP模板技术优缺点有哪些
这篇文章主要介绍THINKPHP模板技术优缺点有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!THINKPHP 模板技术包含公共文件模板继承(推荐)包含公共文件优点 多个页面的公共部分抽取到一个文件里,提高开
2023-06-21
java socket编程有哪些优缺点
Java Socket编程的优点和缺点如下:优点:1. 简单易用:Java提供了Socket类和ServerSocket类来实现网络通信,使用简单直观。2. 与平台无关性:Java Socket编程可以在不同的平台上运行,具有很好的可移植性
2023-08-09