java基础——简单工厂模式

工厂模式的优势:
1 良好的封装型,代码结构清晰,一个对象建立是有条件约束的,若是一个调用者须要一个具体的产品对象,只须要知道这个产品的类名就能够了,不用知道建立对象的艰辛过程,下降模块间的耦合性。缓存

2 工厂方法模式的扩展性很是的好,在增长产品类的状况下,只须要适当的修改具体的工厂类或扩展一个工厂类,就能够完成。spa

3 屏蔽产品类调试

4 高度结偶对象

一个简单工厂模式实例
定义产品接口接口

clipboard.png

实现2个产品类ip

clipboard.png

clipboard.png

定义工厂接口get

clipboard.png

实现工厂类产品

clipboard.png

业务场景it

clipboard.png
运行结果class

clipboard.png

至此,一个简单工厂就完成了。

延迟加载的工厂模式:

一样的先定义共有的man接口

clipboard.png

定义两个实现类

clipboard.png

clipboard.png
定义抽象工厂接口

clipboard.png

抽象工程实现类

clipboard.png

业务场景类

clipboard.png

结果

clipboard.png

经过断点调试为,咱们能够看到,第一词调用createMan方法的时候,是经过( Man ) Class.forName( T.getName( ) ).newInstance( );获取实例的,可是第二次调用的时候,使用了缓存HashMap里面的值。