设计模式二 工厂模式
Posted idea-persistence
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式二 工厂模式相关的知识,希望对你有一定的参考价值。
0、基本定义
工厂模式定义:一个用于创建对象的接口,让子类决定实例化哪一个类。实例化延迟到其子类。‘
抽象工厂模式:为创建一组相关或相互依赖的对象提供一个接口,而且无须指定他们的具体类
只对结果负责。
解耦合
1、类型
1.1 、简单工厂模式:
public class SimpleFactory { public Milk getMilk(String name) { if ("特仑苏".equals(name)) { return new Telunsu(); } else if ("伊犁".equals(name)) { return new Yili(); } else if ("蒙牛".equals(name)) { return new Mengniu(); } return null; } }
1.2、工厂模式
public interface Factory { //统一产品出口 Milk getMilk(); } public class MengniuFactotry implements Factory { @Override public Milk getMilk() { return new Mengniu(); } } public class TelunsuFactotry implements Factory { @Override public Milk getMilk() { return new Telunsu(); } } public class YiliFactotry implements Factory { @Override public Milk getMilk() { return new Yili(); } }
Test
public class FactoryTest { public static void main(String[] args) { Factory factory = new MengniuFactotry(); System.out.println(factory.getMilk().getName()); }
1.3 抽象工厂模式:
产品登记,产品族
public abstract class AbstractFactory { public abstract Milk getMengniu(); public abstract Milk getYili(); public abstract Milk getTelunsu(); } public class MilkFactory extends AbstractFactory { @Override public Milk getMengniu() { return new Mengniu(); } @Override public Milk getYili() { return new Yili(); } @Override public Milk getTelunsu() { return new Telunsu(); } }
3、优点
优点:
》良好的封装性,代码结构清晰
》扩展性好
使用场景
》new一个对象的替代品
参考资料:
《大话设计模式》
以上是关于设计模式二 工厂模式的主要内容,如果未能解决你的问题,请参考以下文章
设计模式工厂方法模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )