厨房电器公司生产电饭锅、微波炉、电炖盅等三种厨房电器。现在有美的、苏泊尔、九阳这三个厨房电器公司(将来还可能有不同品牌的厂商)分别生产各自品牌的厨房电器。美的公司生产美的电饭锅、美的微波炉、美的电炖盅;苏泊尔公司生产苏泊尔电饭锅、苏泊尔微波炉、苏泊尔电炖盅;九阳公司生产九阳电饭锅、九阳微波炉、九阳电炖盅,。请根据题意,选择合适的设计模式进行设计。(作答时可以在较详细地描述设计思路后画出设计类图,也可以简单描述设计思路后直接给出java代码)
正确答案:
经过分析,可以采用抽象工厂模式。电饭锅作为抽象产品,是抽象类,美的电饭锅、苏泊尔电饭锅、九阳电饭锅作为具体产品继承自电饭锅,是具体类;微波炉作为抽象产品,是抽象类,美的微波炉、苏泊尔微波炉、九阳微波炉作为具体产品继承自微波炉,是具体类;电炖盅作为抽象产品,是抽象类,美的电炖盅、苏泊尔电炖盅、九阳电炖盅作为具体产品继承自电炖盅,是具体类。公司作为抽象工厂,是抽象类,在公司类中可以声明三个分别生产电饭锅、微波炉、电炖盅的抽象方法,这三个方法的返回值类型分别是电饭锅、微波炉和电炖盅。美的公司、苏泊尔公司、九阳公司分别作为具体工厂类继承自公司类,是普通类。美的公司中生产电饭煲、生产微波炉、生产电炖盅方法的实现分别就是创建并返回美的电饭煲、美的微波炉、美的电炖盅对象;苏泊尔公司中生产电饭煲、生产微波炉、生产电炖盅方法的实现分别就是创建并返回苏泊尔电饭煲、苏泊尔微波炉、苏泊尔电炖盅对象;九阳公司中生产电饭煲、生产微波炉、生产电炖盅方法的实现分别就是创建并返回九阳电饭煲、九阳微波炉、九阳电炖盅对象。