灵魂三问:
1,什么是抽象工厂模式?
2,它有什么用?
3,怎么用?
什么是抽象工厂模式?
前面我们说过工厂模式,那么什么是抽象工厂模式呢?

抽象工厂就是不知道这个工厂具体是干什么的,只有实现其接口的工厂才是具体的工厂。
比如我们有一块地,但是我们不知道要建什么工厂,只有确定好了我们才知道我们要建纺织厂。
它有什么用?
抽象工厂的工作是将“抽象零件”组装成“抽象产品”。在这里,我们不关心零件的饿具体实现,而是只关心接口(API)。我们仅使用该接口(API)将零件组装成产品。
怎么用?
类的划分:

类总览:

类图:

文件夹中源文件的结构:

编译运行:


抽象的饿零件:Item类:

Link类:

Tray类:
表示一个含有多个Link类和Tray类的容器:

抽象的产品:Page类:
抽象的表示HTML页面的类。如果将Link和Tray比作抽象的零件,那么Page就是抽象的产品。

抽象的工厂:Factory类:

注意是如何生成具体的工厂类的
使用工厂将零件组装为产品:Main类:

具体的工厂类:ListFactory类

具体的零件:ListLink类

ListTray类:

具体的产品:ListPage类

如果只是使用一个工厂,这阵势有点大,抽象工厂的是为了创建很多具体工厂而生的,我们也可以添加其他工厂。
待续。。。
本文深入解析了抽象工厂模式的概念,探讨了其在软件设计中的作用,并通过实例演示了如何运用抽象工厂模式进行类的设计与实现。
991

被折叠的 条评论
为什么被折叠?



