kwj

走越远,路越艰!

常用链接

统计

最新评论

抽象工厂模式

public interface Gardener{}

public class NorthernGardener implements Gardener
{
    public Fruit creatFruit(String name)
    {
        return new NorthernFruit(name);
    }
    public Veggie creatVeggie(String name)
    {
        return new NorthernVeggie(name);
    }
}

public class TropicalGardener implements Gardener
{
    public Fruit creatFruit(String name)
    {
        return new TropicalFruit(name);
    }
    public Veggie creatVeggie(String name)
    {
        return new TropicalVeggie(name);
    }
}

public interface Veggie{}  //蔬菜
public class NothernVeggie implements Veggie
{
    private String name;
}
public class TropicalVeggie implements Veggie
{
    private String name;
}

public interface Fruit{}  //水果
public class NothernFruit implements Fruit
{
    private String name;
}
public class TropicalFruit implements Fruit
{
    private String name;
}

抽象工厂来源:button(UnixButton,WinButton),text(UnixText,WinText)两个等级结构。UnixButton和UnixText是Unix一族,由

UnixFactory创建,WinButton和WinText是Window一族,应该有WinFactory来创建。

需要增加一个产品族(如亚热带的水果和蔬菜),需要增加一个产品等级(肉类),考虑代码的变化。

posted on 2008-01-23 14:42 木剑 阅读(143) 评论(0)  编辑  收藏 所属分类: 设计模式


只有注册用户登录后才能发表评论。


网站导航: