【设计模式】重新理解简单工厂模式、工厂模式、抽象工厂模式

最近后台工作部分还算顺利,数据库Dao层使用简单工厂模式,一开始自己还是觉得是工厂模式,因为我没有深入了解过简单工厂模式与工厂模式的区别,后来通过复习工厂模式的时候才发现自己的理解是错误的。

 

在后台数据库层开发部分,自己定义了Dao接口用于表示对数据库操作的动作。对应每个Dao都有一个实现类对应,然后通过定义一个Factory类通过静态方法获取Dao接口的实例。

 

其实这种方式是属于简单工厂模式,而不是工厂模式,因为工厂模式中工厂类也是一个接口,产品接口通过工厂类的实例构建出来,看看下面的描述:

【设计模式】重新理解简单工厂模式、工厂模式、抽象工厂模式

 

其实工厂模式是从简单工厂模式发展而来,下面再看看简单工厂模式:

【设计模式】重新理解简单工厂模式、工厂模式、抽象工厂模式

 

而抽象工厂模式则是从工厂模式,发展而来,其工厂接口能获取多个不同接口的实例(产品):

【设计模式】重新理解简单工厂模式、工厂模式、抽象工厂模式