Abstract Factory实际上强调两个概念:
- Abstract:强调接口
- Factory:强调创建
我认为Factory概念尤为重要,这个概念的背后隐含了另外一层意义:创建可以被控制,这就意味着可以将Factory对象的控制权交给其它对象,从而实现低耦合度。
当我们创建Factory对象时,我们可以不用担心Factory对象制造出来的对象如何去使用,因此,Factory对象应该存在于较高的调用级别,或者处于模块的接口处。
以上是我在项目实践中的一些具体思考,我认为Abstract Factory模式就是灵活的应用了两个接口,其实质就是用一个接口来创建另外一个(或多个)接口。
一个接口的设计是奇妙的,而两个接口的设计,其效果就是1+1>2了。