系统设计模式二

今天要说的模式是工厂模式。该模式在设计模式中也有 。按照《设计模式》一书的说法,该模式的意图是:

定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到其子类。

通常情况下,我们在模块间编程,模块间的调用都是接口调用。在面向对象编程中,接口只负责功能上的调用,不能创建对应的子类对象。所以工厂模式就用于创建子类对象,并返回接口形态的对象实例。

在系统设计中,我们经常见到工厂模式。典型的就是Windows中的COM机制。QueryInterface函数就是COM工厂模式中典型的创建函数。在这种应用中,整个模块类似于一个功能库,根据用户的请求,创建相应的对象,并返回接口供用户使用。该功能库可以独立维护和发布。将接口与实现分离。修改实现,不需要修改客户应用。

在系统设计中,工厂模式的另外一种用法就有些特殊。和其本意有所不同。在apache中,主进程监视网络连接,当浏览器客户端发送联建请求到服务器时,apache服务器会创建一个连接子进程专门处理与该浏览器客户端的连接。这也可以算是种工厂模式。而该模式的意图主要是将问题分治为几个独立的问题解决,使问题的规模缩小,相互独立。在apache中,主进程负责监视网络上的连接请求,子进程负责连接的业务服务。子进程有其独立的进程空间,这使得浏览器客户端似乎是在和一个专有服务端进行业务交互,使得服务端的开发变得简单。

工厂模式细细品位还有很多中使用方式,本人阅历有限,只能先提及以上两种。如果后续有新的发现,还会补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值