Java设计模式之简单工厂模式
来源:互联网 发布:华腾软件学院 编辑:程序博客网 时间:2024/06/17 12:13
工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
工厂模式根据抽象程度的不同又可以细分为:
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
简单工厂模式
简单工厂模式又叫静态工厂模式,它并不是GoF23种设计模式之一。在我们日常的编码过程中,它经常会被使用到,而且思想也非常简单,与其说它是一种设计模式,或许称之为一种编程习惯更为恰当。不过这三种工厂模式是一个逐渐抽象的过程,所以还是有必要先讲一下简单工厂模式。
简单工厂模式的核心思想就是:有一个专门的类来负责创建实例的过程。
首先我们来看一段示例程序。这段示例程序的作用是制造iPhone手机。
产品类:
abstract class IPhone() { public IPhone() { }} public class IPhone4 extends IPhone { public IPhone4() { System.out.println("制造了IPhone4..."); }} public class IPhone5 extends IPhone { public IPhone5(){ System.out.println("制造了IPhone5..."); }}
工厂类:public class IPhoneFactory() { public IPhone createIPhone(int type) { switch (type) { case 4: return new IPhone4(); case 5: return new IPhone5(); default: System.out.println("造不了..."); return null; } }}
客户类:public class Customer { public static void main(String[] args) { IPhoneFactory iPhoneFactory = new IPhoneFactory(); IPhone iPhone4 = iPhoneFactory.createIPhone(4); IPhone iPhone5 = iPhoneFactory.createIPhone(5); IPhone iPhone8 = iPhoneFactory.createIPhone(8); }}
输出结果如下:制造了iPhone4...制造了iPhone5...造不了...
简单工厂模式总结:
- 优点
工厂类能够根据用户给定的信息,决定究竟应该创建哪个具体类的对象。用户在使用时只需要告诉工厂类去创建需要的实例,而不必知道这些实例对象是如何创建的。 - 缺点
从上面的例子不难看出来,现在的工厂造不了iPhone8,而如果要造iphone8,那相对应需要修改IPhoneFactory类,如果IPhoneFactory类除了问题,所有的客户都会受到影响。更重要的是,简单工厂模式违背了”开闭原则”,可扩展性和稳定性都比较差。
阅读全文
1 0
- JAVA设计模式之工厂模式之简单工厂模式
- java设计模式之简单工厂模式
- java设计模式之简单工厂模式
- java设计模式之简单工厂模式
- java设计模式之简单工厂模式
- java设计模式之简单工厂模式
- Java设计模式之简单工厂模式
- 【Java设计模式】之简单工厂模式
- Java--设计模式之简单工厂模式
- java设计模式之简单工厂模式
- Java设计模式之简单工厂模式
- java设计模式之简单工厂模式
- Java设计模式之简单工厂模式
- Java设计模式之简单工厂模式
- Java设计模式之“简单工厂模式”
- Java设计模式之简单工厂模式
- JAVA设计模式之------简单工厂模式
- java设计模式之简单工厂模式
- 随机数生成
- 图像语义分割
- 开源大数据周刊-第67期
- PAT 1021. Deepest Root (25)
- Android获取View的宽度和高度
- Java设计模式之简单工厂模式
- 字节对齐的方法
- HGDB重建模板数据库的方法(适用于PG)
- 7 局部求和
- 美女头像这么多,他们用大数据告诉你哪个是骗子
- 搭建java环境\Tomcat安装和基本配置\Tomcat_MSM
- Windows中Django安装教程
- C#枚举类型的默认值一定是0说起
- KMP字符匹配