简单工厂
接口
接口是一种特殊的抽象类,跟一般的抽象类相比,接口里的所有方法都是抽象方法,接口里的所有属性都是常亮。也就是说接口里面只有方法定义没有任何方法实现。
接口的思想是“封装隔离”
简单工厂
示例代码: https://github.com/GeniusVJR/DesignMode_Java/tree/master/SimpleFactory
客户端在调用的时候,不但知道了接口,同时还知道了具体的实现。接口的思想是“封装隔离”,而实现类Impl应该是被接口API封装并同客户端隔离开来的,客户端不应该知道具体的实现类是Impl。
简单工厂的功能
不仅可以利用简单工厂来创建接口,也可以用简单工厂来创造抽象类,甚至是一个具体的实例。
静态工厂
没有创建工厂实例的必要,把简单工厂实现成一个工具类,直接使用静态方法。
万能工厂
一个简单的工厂可以包含很多用来构造东西的方法,这些方法可以创建不同的接口、抽象类或者是类实例。
简单工厂的优缺点
● 优点
帮助封装
解耦
● 缺点
可能增加客户端的复杂度
不方便扩展子工厂