设计模式,本身就是一种概念,一种设计思维,每个人的理解方式不同,感悟也不同。结合需求和代码的设计结构去灵活运用,以下和其他章节只是个人领悟和简单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(); }