龙空技术网

java:普通工厂(Simple Factory)模式

农民敲代码 107

前言:

此时兄弟们对“java简单的工厂模式”都比较看重,兄弟们都想要剖析一些“java简单的工厂模式”的相关知识。那么小编在网上收集了一些有关“java简单的工厂模式””的相关内容,希望我们能喜欢,同学们快快来学习一下吧!

在大部分的情况下,我们都是以new关键字来创建对象的。举个例子,现实中车子的各类可能很多,有大巴车、轿车、救护车、越野车、卡车等,每个种类下面还有具体的型号,一个工厂生产如此多的车会难以管理,所以往往还需要进一步拆分成各个工厂:大巴车、轿车等分工厂。但是客户不需要知道工厂是如何拆分的,他只需要告诉客服要什么车,客服就会根据客户的需要找到对应的工厂去生产车。对于客户而言,车厂只是一个抽象概念,他只是知道有这样一个工厂能满足他的需要。

下面先介绍一下,普通工厂模式:

例如,有个IProduct 的产品接口,它下面有5个实现类Product1、Product2、Product3、Product4、Product5.它们属于一个大类,可以通过一个工厂去管理它们的生成。但是由于类型不同,所以初始化有所不同。为了方便使产品工厂(ProductFactory)类来创建这些产品的对象,用户可以通过产品号来确定需要用哪种产品。

不同的用户,可能不知道彼此订了什么类型的产品,只知道对方订了产品,满足IProduct接口的定义,这样就有了ProductFactory类的伪代码:

对于程序调用者而言,他只需要知道通过工厂的createProduct方法,指定产品的编号---productNo可以得到对应的产品,而产品只要满足接口IProduct的规范,所以初始化就简单了许多。对于产品对象的创建 ,可以把一些特有产品规则写入工厂类中。

标签: #java简单的工厂模式