abstract factory 读书笔记
意图:
为创建相关的或者相互依赖的对象配置一个借口而不指定他们具体的类。
别名:
kit
理解:
抽象工厂是一种创建型的模式,它为我们创建对象提供了有效地方法,我们不用直接new对象而是可以为创建对象配置一个接口,该接口定义了如何创建对象的方法。我们还知道抽象工厂创建的对象是一个系列的或者是一族的。该模式的最大特点就是将它的具体创建的任务交给了他的子类也就是具体的类,因此我们将创建对象的时间延迟到了它的子类。我们知道,在设计模式(gof)的书里说了设计模式是为有一定面向对象基础的开发人员准备的。所以我们都应改知道类和类型之间的区别,在现在的编程语言里接口是最为抽象的数据结构,因此我们将我们的抽象工厂里的abstractfactoy定义成接口也是很自然的。一个这样的工厂可以创建一族产品是什么意思呢?也就是说这一类产品都有相同的父类或者父接口。在这里我不想重复gof里面的话关于这些对象之间的协作和结果以及带来的影响等等,这些在《design patterns elements of resable object-oriented software》本书里可以看到。下面我想用c#实现这个模式来供大家参考。
结构:
