java工厂模式java中的工厂模式是什么,请举例说明

java工厂模式  时间:2021-09-04  阅读:()

在JAVA中,通常在什么情况下用到工厂模式??

工厂模式负责将大量有共同接口的类实例化。

工厂模式可以决定将哪一个类实例化,不必事先知道每次要实例化哪一个类。

工厂模式的几种形态: l 简单工厂模式。

又称静态工厂模式。

l 工厂方法模式。

Factory Method,又称多态工厂或虚拟构造子模式(Virtual Constructor)。

l 抽象工厂模式。

Abstract Factory,又称工具箱(Kit或ToolKit)模式。

工厂模式的逐步递演反映了抽象的步步加深、解决问题

j2ee有哪些设计模式?什么叫工厂模式。

Java中的23种设计模式: Factory(工厂模式),Builder(建造模式),FactoryMethod(工厂方法模式), Prototype(原始模型模式),Singleton(单例模式),Facade(门面模式), Adapter(适配器模式),Bridge(桥梁模式),Composite(合成模式), Decorator(装饰模式),Flyweight(享元模式),Proxy(代理模式), Command(命令模式),Interpreter(解释器模式),Visitor(访问者模式), Iterator(迭代子模式),Mediator(调停者模式),Memento(备忘录模式), Observer(观察者模式),State(状态模式),Strategy(策略模式), TemplateMethod(模板方法模式),ChainOfResponsibleity(责任链模式) 工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。

首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。

然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。

当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。

java中的工厂模式是什么,请举例说明

工厂模式就是在接口和子类之间加入了一个过渡端,通过此过渡端获得接口的实例化对象,这个过渡端也就是所谓的工厂类。

这样以后如果再有程序子类要扩充,直接修改工厂类客户端就可以根据标记得到相应的实例,增加了程序的灵活性。

eg: interface Fruit{ public void eat() ; } class Apple implements Fruit{ public void eat(){ System.out.println("** $$$$$") ; } }; class Orange implements Fruit{ public void eat(){ System.out.println("** #####。

") ; } }; class Factory{ // 定义工厂类 public static Fruit getInstance(String className){ Fruit f = null ; if("apple".equals(className)){ // 判断 f = new Apple() ; } if("orange".equals(className)){ // 判断 f = new Orange() ; } return f ; } }; public class InterfaceCaseDemo{ public static void main(String args[]){ Fruit f = Factory.getInstance(null) ; // 实例化接口 f.eat() ; } };

无视CC攻击CDN ,DDOS打不死高防CDN,免备案CDN,月付58元起

快快CDN主营业务为海外服务器无须备案,高防CDN,防劫持CDN,香港服务器,美国服务器,加速CDN,是一家综合性的主机服务商。美国高防服务器,1800DDOS防御,单机1800G DDOS防御,大陆直链 cn2线路,线路友好。快快CDN全球安全防护平台是一款集 DDOS 清洗、CC 指纹识别、WAF 防护为一体的外加全球加速的超强安全加速网络,为您的各类型业务保驾护航加速前进!价格都非常给力,需...

Hosteons:洛杉矶/纽约/达拉斯免费升级10Gbps端口,KVM年付21美元起

今年1月的时候Hosteons开始提供1Gbps端口KVM架构VPS,目前商家在LET发布消息,到本月30日之前,用户下单洛杉矶/纽约/达拉斯三个地区机房KVM主机可以从1Gbps免费升级到10Gbps端口,最低年付仅21美元起。Hosteons是一家成立于2018年的国外VPS主机商,主要提供VPS、Hybrid Dedicated Servers及独立服务器租用等,提供IPv4+IPv6,支持...

百星数据(60元/月,600元/年)日本/韩国/香港cn2 gia云服务器,2核2G/40G/5M带宽

百星数据(baixidc),2012年开始运作至今,主要提供境外自营云服务器和独立服务器出租业务,根据网络线路的不同划分为:美国cera 9929、美国cn2 gia、香港cn2 gia、韩国cn2 gia、日本cn2 gia等云服务器及物理服务器业务。目前,百星数据 推出的日本、韩国、香港cn2 gia云服务器,2核2G/40G/5M带宽低至60元/月,600元/年。百星数据优惠码:优惠码:30...

java工厂模式为你推荐
expireredis expire 命令有什么好处连接池什么叫做“连接池机制”项目质量管理什么是工程项目质量管理?fast路由器FAST/迅捷无线路由器怎么设置什么是cookie什么是浏览器COOK?什么是cookie有时遇到网页提示禁止第三方cookie是什么意思?教育城域网关于学校局域网文件下载硬盘分区格式化电脑硬盘怎么全部格式化并重新分区?code查询手机CODE查询soap是什么意思肥皂剧是什么意思?
域名查询工具 omnis 流媒体服务器 bash漏洞 京东商城双十一活动 柚子舍官网 域名评估 便宜空间 万网空间 双线空间 免费网络空间 服务器硬件配置 97rb 博客域名 重庆联通服务器托管 googlevoice .htaccess godaddyssl websitepanel globalsign 更多