首页 > 其他 > 详细

抽象工厂模式

时间:2018-02-02 21:37:42      阅读:254      评论:0      收藏:0      [点我收藏+]

抽象工厂模式:将一组具有相同主题的单独的工厂封装起来,抽象工厂可以理解为工厂的工厂。抽象工厂模式比工厂模式具有更高的抽象程度,更广泛的适用性。
工厂方法模式:针对的是 一个产品等级结构。
抽象工厂模式:针对 多个产品等级结构。
// 抽象食物
interface Food {
public String getFoodName();
}

// 抽象餐具
interface TableWare {
public String getToolName();
}

// 抽象工厂
interface KitchenFactory {
public Food getFood();
public TableWare getTableWare();
}

//具体食物 Apple 的定义如下
class Apple implements Food{
public String getFoodName() {
return "apple";
}
}

//具体餐具 Knife 的定义如下
class Knife implements TableWare {
public String getToolName() {
return "knife";
}
}

// 以具体工厂 AKitchen 为例
class AKitchen implements KitchenFactory {

public Food getFood() {
return new Apple();
}

public TableWare getTableWare() {
return new Knife();
}
}

// 吃货要开吃了
public class Foodaholic {

public void eat(KitchenFactory k) {
System.out.println("A foodaholic is eating "+ k.getFood().getFoodName()
+ " with " + k.getTableWare().getToolName() );
}

public static void main(String[] args) {
Foodaholic fh = new Foodaholic();
KitchenFactory kf = new AKitchen();
fh.eat(kf);
}
}

抽象工厂模式

原文:https://www.cnblogs.com/Jason-MLiu/p/8406554.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!