java与模式笔记(6.3) 缤纷的模式世界之工厂模式——现实中的实例

本文探讨了工厂模式的意义及其在软件开发中的应用。通过介绍简单工厂、工厂方法和抽象工厂三种模式,解释了如何利用这些模式来减少客户端代码对具体类的依赖,并通过例子展示了Java中的DateFormat类和URL与URLConnection是如何实现工厂模式的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  第一阅读后最后一次关于工厂模式的笔记

    工厂模式不仅仅是创建而已,他有自己的独特的存在意义。虽然目前看到的好处是,客户程序单元并不需要因为产品的改变而改变自己,其实工厂还可以提供诸如,反复返回同一实例的功能。

    在平时我们的实际使用中,我们经常需要使用一个产品的循环和反复调用,这就要使得工厂不能每次都创建一个新的类出来,毕竟我们需要一些久的对象的数据。这里引入了登记式的工厂方法。工厂可以使用一个内部变量,来存储自己所维护的类的实例。

 

模式在现有成型系统中的应用的例子

简单工厂Java 中的DateFormat类,就是一个抽象类,还是一个工厂类,他自己返回自己的实例。

public final static DateFormat getDateInstance();

public final static DateFormat getDateInstance(int style);

    public final static DateFormat getDateInstance(int style, Locale locale);

 

    工厂方法URL URLConnection URL 继承 URLConnection

    URL yahoo = new URL("http://www.yahoo.com/");

URLConnection yc = yahoo.openConnection();

BufferedReader in = new BufferedReader(

new InputStreamReader(

yc.getInputStream()));

 

    抽象工厂抽象工厂模式的起源或者说最早的应用,是用于创建分属于不同操作系统的视窗构件。比如,命令按键(Button)与文字框(Text)都是视窗构件,在UNIX 操作系统的视窗环境和Windows 操作系统的视窗环境中,这两个构件有不同的本地实现,它们的细节也有所不同。按键产品和文字框产品都有各自的抽象类,而且还要有各自的在不同系统中的实现。于是抽象工厂就出现了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值