(设计模式)抽象工厂

设计模式,本身就是一种概念,一种设计思维,每个人的理解方式不同,感悟也不同。结合需求和代码的设计结构去灵活运用,以下和其他章节只是个人领悟和简单demo,共勉。
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类,实际实现类由工厂创建并提供。
行为接口
public interface ICat {

    void eat();
}

public interface IDog {

    void eat();
}

实现

public class BlackCat implements ICat{

    @Override
    public void eat() {
        System.out.println("黑色的猫");
    }

}
public class WhiteDog implements IDog {

    @Override
    public void eat() {
        System.out.println("白色的狗");
    }

}

创建产品接口 ,抽象工厂

/**
 * 创建抽象产品对象的操作接口
 * @author Administrator
 *
 */
public interface IAnimalFactory {
    ICat createCat();
    IDog createDog();
    
}

实现

/**
 *抽象工厂,用于管理要实例化哪些对象
 * @author Administrator
 *
 */
public class AnimalFactory implements IAnimalFactory {

    @Override
    public ICat createCat() {
        return new BlackCat();
    }

    @Override
    public IDog createDog() {
        return new WhiteDog();
    }

}

测试

public static void main(String[] args) {
        IAnimalFactory factory = new AnimalFactory();
        ICat cat = factory.createCat();
        IDog dog = factory.createDog();
        cat.eat();
        dog.eat();
    }