Skip to content

Latest commit

 

History

History
35 lines (25 loc) · 1.32 KB

简单工厂.md

File metadata and controls

35 lines (25 loc) · 1.32 KB

@(设计模式) #简单工厂

###接口 接口是一种特殊的抽象类,跟一般的抽象类相比,接口里的所有方法都是抽象方法,接口里的所有属性都是常量。也就是说接口里面只有方法定义没有任何方法实现。

接口的思想是"封装隔离"

###简单工厂 示例代码: https://github.com/GeniusVJR/DesignMode_Java/tree/master/SimpleFactory

客户端在调用的时候,不但知道了接口,同时还知道了具体的实现。接口的思想是"封装隔离",而实现类Impl应该是被接口Api封装并同客户端隔离开来的,客户端不应该知道具体的实现类是Impl。

###简单工厂的功能 不仅可以利用简单工厂来创建接口,也可以用简单工厂来创造抽象类,甚至是一个具体的实例。

###静态工厂 没有创建工厂实例的必要,把简单工厂实现成一个工具类,直接使用静态方法。

###万能工厂 一个简单哪工厂可以包含很多用来构造东西的方法,这些方法可以创建不同的接口、抽象类或者是类实例。

###简单工厂的优缺点

  1. 优点
  • 帮助封装
  • 解耦
  1. 缺点
  • 可能增加客户端的复杂度
  • 不方便扩展子工厂

##思考

简单工厂的本质是选择实现。