1700458120
*/
1700458121
1700458122
}
1700458123
1700458124
}
1700458125
1700458126
运行结果如下所示:
1700458127
1700458128
–生产一个黄色女性–
1700458129
1700458130
黄色人种的皮肤颜色是黄色的!
1700458131
1700458132
黄色人种会说话,一般说的都是双字节。
1700458133
1700458134
黄人女性
1700458135
1700458136
–生产一个黄色男性–
1700458137
1700458138
黄色人种的皮肤颜色是黄色的!
1700458139
1700458140
黄色人种会说话,一般说的都是双字节。
1700458141
1700458142
黄人男性
1700458143
1700458144
各种肤色的男性、女性都制造出来了,两性之间产生了相互吸引力,于是情感产生,这个世界就多了一种小说的题材“爱情”。回头来想想我们的设计,不知道大家有没有去过工厂,每个工厂分很多车间,每个车间又分多条生产线,分别生产不同的产品,我们可以把八卦炉比喻为车间,把八卦炉生产的工艺(生产白人、黑人还是黄人)称为生产线,如此来看就是一个女性生产车间,专门生产各种肤色的女性,一个是男性生产车间,专门生产各种肤色男性,生产完毕就可以在系统外组装,什么是组装?嘿嘿,自己思考!在这样的设计下,各个车间和各条生产线的职责非常明确,在车间内各个生产出来的产品可以有耦合关系,你要知道世界上黑、黄、白人种的比例是:1
:4:6,那这就需要女娲娘娘在烧制的时候就要做好比例分配,在一个车间内协调好。这就是抽象工厂模式。
1700458145
1700458146
1700458147
1700458148
1700458150
设计模式之禅 9.2 抽象工厂模式的定义
1700458151
1700458152
抽象工厂模式(Abstract Factory Pattern)是一种比较常用的模式,其定义如下:
1700458153
1700458154
Provide an interface for creating families of related or dependent objects without specifying their concrete classes.(为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。)
1700458155
1700458156
抽象工厂模式的通用类图如图9-3所示。
1700458157
1700458158
1700458159
1700458160
1700458161
图9-3 抽象工厂模式的通用类图
1700458162
1700458163
抽象工厂模式是工厂方法模式的升级版本,在有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。我们来看看抽象工厂的通用源代码,首先有两个互相影响的产品线(也叫做产品族),例如制造汽车的左侧门和右侧门,这两个应该是数量相等的——两个对象之间的约束,每个型号的车门都是不一样的,这是产品等级结构约束的,我们先看看两个产品族的类图,如图9-4所示。
1700458164
1700458165
1700458166
1700458167
1700458168
图9-4 抽象工厂模式的通用源码类图
1700458169
[
上一页 ]
[ :1.70045812e+09 ]
[
下一页 ]