java设计模式:工厂模式
工厂模式。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
工厂模式可以在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
使用工厂模式可以将对象的创建与对象的使用分开,达到解耦的效果。另外也省去了写创建对象的代码。
工厂模式分为三类:
1.简单工厂模式
创建一个汽车接口,定义一个品牌方法。不同的汽车有不同的品牌。
创建实现该接口的具体汽车实现类
创建工厂类
之后就可以根据参数来实例化相应的类了。
2.工厂方法模式
该模式不再是一个统一的工厂类来创建所有的对象,而是针对不同的对象提供不同的工厂。也就是说每个对象都有一个与之对应的工厂。
创建一个工厂接口
增加相关工厂类
此时想要实例化哪个类就调用这个类对应的工厂类的product()方法就好了
3.抽象工厂模式
相比于工厂方法模式,抽象工厂模式可以生产多个产品(或者可以说是一套产品),前提这些产品必须是有关系的。
比如说电脑主机与显示器是一整套产品,我们可以创建一个工厂,这个工厂可以生产不同的电脑主机与显示器。
新建一个电脑接口
创建接口对应实现类
新建一个显示器接口
创建接口对应实现类
创建工程接口
创建具体工厂,用来实例化工厂对应的电脑类与显示器类
测试方法: