直接抽象实例,抽象工厂模式是应用最为广泛的工厂模式。
public interface Milk {
/**
* 获取一个标准产品
* @return
*/
public String getName();
}
public class Mengniu implements Milk {
@Override
public String getName() {
return "蒙牛";
}
}
public class Sanlu implements Milk{
@Override
public String getName() {
return "三鹿";
}
}
/**
*
* 抽象工厂是用户的主入口
* 在Spring中应用得最为广泛的一种设计模式
* 易于扩展
* Created by Tom on 2018/3/4.
*/
public abstract class AbstractFactory {
//公共的逻辑
//方便于统一管理
/**
* 获得一个蒙牛品牌的牛奶
* @return
*/
public abstract Milk getMengniu();
public abstract Milk getSanlu();
}
/**
* Created by Tom on 2018/3/4.
*/
public class MilkFactory extends AbstractFactory {
@Override
public Milk getMengniu() {
return new Mengniu();
}
@Override
public Milk getSanlu() {
return new Sanlu();
}
}