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