工厂方法模式人是造出来了,可都是清一色的类型,缺少关爱、仇恨、喜怒哀乐等情绪,人类的生命太平淡了,忘记给人类定义性别了,那怎么办? 从头开始建立所有的事物也是不可能的,那就想在现有的条件下重新造人,尽可能旧物利用嘛 人种(Product产品类)应该怎么改造呢?怎么才能让人类有爱有恨呢?定义互斥的性别,然后在每个个体中埋下一颗种子:异性相吸,成熟后就一定会去找个异性 从设计角度来看,一个具体的对象通过两个坐标就可以确定:肤色和性别
肤色性别坐标图
重新生产人类
一个接口,多个抽象类,然后是N个实现类,每个人种都是一个抽象类,性别是在各个实现类中实现的
特别需要说明的是HumanFactory
接口,在这个接口中定义了三个方法,分别用来生产三个不同肤色的人种,也就是我们在坐标图的Y坐标,它的两个实现类分别是性别,也就是坐标图的X坐标
通过X坐标(性别)和Y坐标(肤色)唯一确定了一个生产出来的对象
每个抽象类都有两个实现类,分别实现公共的最细节、最具体的事物:肤色和语言 具体的实现类实现肤色、性别定义
当一个工厂可以创建出分属于不同产品等级结构的一个产品族中的所有对象时 抽象工厂比工厂方法更适合!!!
Java 类相关
Python相关