设计模式-设计模式入门(6)

工厂模式

Posted by SixTeen on August 1, 2016

工厂模式

简单工厂模式,类图:

工厂模式,其实就是将简单工厂模式中的工厂抽象了,因为工厂可能不止一种类型的工厂,例如我们把奶茶制造抽象成工厂,那么奶茶制造可以分成港式奶茶制造,台式奶茶制造等等,我们把负责制造的抽象成一个接口,把产品抽象成一个接口,工厂可以有多个。

一些概念

工厂模式

工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。

工厂方法

工厂方法是创建一个框架,让子类决定要如何实现。

优点

将创建对象的代码集中在一个对象或方法中,可以避免代码中的重复,并且更方便以后的维护,这也意味着客户在实例化对象时,只会依赖于接口,而不是具体类。这让代码更具有弹性,可以应对未来的扩展。

设计原则

要依赖抽象,不要依赖具体类。

依赖倒置原则,原来依赖具体类的时候,我们的商店每一个商品的实例化都需要我们知道该具体类,这时候我们的商店依赖所有用到的具体类。而工厂化之后,商店只需要依赖商品的接口,无需具体依赖具体类,而具体类又依赖于接口,这样就实现了依赖倒置。




参考书籍:
《Head First设计模式》

1
FIN 2016.7.31/20.46