Skip to content

Latest commit

 

History

History

README.md

抽象工厂模式

实例说明

苹果和小米都是硬件厂商,同样生产手机和平板。我作为客户,我想在商场买手机或者平板,我只想告诉商家,我需要哪个厂商的手机或者平板,我不需要直接接触厂商,也不需要关心产品如何生产。

代码说明

  • 抽象工厂类: HardwareVendor
    提供获取具体厂商的接口
    定义厂商生产手机和平板的接口

  • 具体工厂类:AppleVendor,XiaomiVendor 负责具体生产手机和平板

  • 抽象产品类:Phone,Pad
    定义产品的接口

  • 具体产品类:iPhone,Xiaomi5,iPad,XiaomiPad
    实现产品的接口

实际应用

数据存储一般都有Writer和Reader,这两个相当于抽象产品。我们可以采用文件存储或者数据库存储,对于存储方式可以看成实体工厂,通过抽象工厂选择不同的存储方式,可以获得不同的Writer和Reader来完成数据的读写。当然为了以后的扩展性,存储方式可以不断的增加,但调用的方式还是统一的。同样,Writer和Reader也会不断的增加,但接口的调用方式依然不会变。