我们都知道,在Java的多种设计模式中,工厂模式是一种比较常见的。而工厂模式中,又可以分为:简单工厂模式、工厂方法模式以及抽象工厂模式这三种。那么思博今天就来为大家详细介绍一下Java简单工厂模式(Simple Factory)。
从定义上看,简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。
简单工厂模式的要点在于:当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节。简单工厂模式结构比较简单,其核心是工厂类的设计。说到工厂类,这还涉及到了简单工厂模式的三个角色。它们分别是工厂类(Creator)角色、抽象产品(Product)角色以及具体产品(Concrete Product)角色。
这其中,担任工厂类角色的是工厂方法模式的核心,含有与应用紧密相关的商业逻辑。工厂类在客户端的直接调用下创建产品对象,往往由一个具体的Java类实现。
担任抽象产品角色的类是由工厂方法模式所创建的对象的父类,或他们共同拥有的接口。抽象产品角色可以用一个Java接口或者Java抽象类实现。
而具体产品角色,工厂方法模式所创建的任何对象都是这个角色的实例,具体产品角色由一个具体Java类实现。
工厂类其实是这个模式很大的一个优点,因为这个类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例。不过简单工厂模式的确定也在于工厂类,因为当产品类有复杂的多层次等级结构时,工厂类只有它自己,以不变应万变,就是模式的缺点。可以说是“成也萧何败萧何”了。
不过其实Java的各个设计模式都会有自己的优缺点,我们在遇到具体的问题时,可以选择对应合适的进行解决就可以了。
Java简单工厂模式可以说是一个很基础的设计模式,大家一定要好好掌握,学习起来也是比较简单的。
即刻预约
免费试听-咨询课程-获取免费资料