java设计模式——工厂方法模式
工厂方法模式:为工厂类定义了接口,使用多态来削弱工厂类的职责。 * 将简单工厂创建对象的职责分担到子工厂类中,子工厂相互独立,互相不受影响。 * 工厂方法模式也有他的局限性,当面对有复杂的树形结构的产品时,就必须为 * 每个产品创建一个对应的工厂类,当达到一定数量级就会出现类爆炸。 * 整体结构: 1.创建产品接口 * 2. 定义产品类去实现产品接口 * 3.定义(总)工厂接口,并在接口中定义创建产品工厂的方法(eg:create();) * 4.定义子(产品)工厂类,并在create方法中返回产品。(即return new xxxProduct();) * 5.在Main中根据工厂去创建不同的产品工厂。
实例:
package com.henu.factory;/*** @author George* @description 工厂方法模式:为工厂类定义了接口,使用多态来削弱工厂类的职责。* 将简单工厂创建对象的职责分担到子工厂类中,子工厂相互独立,互相不受影响。* 工厂方法模式也有他的局限性,当面对有复杂的树形结构的产品时,就必须为* 每个产品创建一个对应的工厂类,当达到一定数量级就会出现类爆炸。* 整体结构: 1.创建产品接口* 2. 定义产品类去实现产品接口* 3.定义(总)工厂接口,并在接口中定义创建产品工厂的方法(eg:create();)* 4.定义子(产品)工厂类,并在create方法中返回产品。(即return new xxxProduct();)* 5.在Main中根据工厂去创建不同的产品工厂。**/
public class TestFactoryMethodPattern {public static void main(String[] args) {//根据工厂去创建产品(即实例化对象)Factory factory = null;factory = new PhoneFactory();//创建手机factory.create();//创建电脑new ComputerFactory().create();}}//定义产品接口
interface Product{}//定义手机类
class Phone implements Product{//无参构造方法public Phone() {System.out.println("Phone被创建了!");}
}
//定义电脑类
class Computer implements Product{public Computer() {System.out.println("电脑被创建了!");}
}//定义工厂接口
interface Factory{public Product create();
}//定义手机工厂
class PhoneFactory implements Factory{@Overridepublic Product create() {return new Phone();}
}
//定义电脑工厂
class ComputerFactory implements Factory{@Overridepublic Product create() {return new Computer();}
}
java设计模式——工厂方法模式相关推荐
- JAVA设计模式 - 工厂方法模式
工厂方法模式(Factory Pattern) 是一种创建型设计模式 , 它是Java中最常用的设计模式之一 . 1 . 工厂方法模式的定义 定义一个创建对象的接口 , 让子类决定实例化哪一个类 . ...
- Java设计模式--工厂方法模式
工厂方法模式 1.工厂方法模式的概述 1.1工厂模式是简单工厂模式的延伸,符合开闭原则的基础上,还可以在增加新的具体产品对象时不需要对已有系统做任何修改. 1.2工厂方法模式:定义一个用于创建对象的接 ...
- 《转》java设计模式--工厂方法模式(Factory Method)
本文转自:http://www.cnblogs.com/archimedes/p/java-factory-method-pattern.html 工厂方法模式(别名:虚拟构造) 定义一个用于创建对象 ...
- Java设计模式-工厂方法模式和抽象工厂模式
工厂方法模式定义: 即定义一个创建对象的接口(即抽象工厂类),让其子类(具体工厂类)决定实例化哪一个类(具体产品类)."一对一"的关系 1,一抽象工厂类派生出多个具体工厂类: 2, ...
- Java设计模式—工厂方法模式抽象工厂模式
工厂方法模式与抽象工厂模式都是设计模式中重要而且常见的模式. 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类. 通用类图如下: 在 ...
- Java设计模式-工厂方法模式的使用和介绍
一.工厂方法模式简介 1.定义 工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorph ...
- java设计模式---工厂方法模式
简单工厂模式的应用就是用来创建一个对象,简单工厂模式是将所有对象的初始化集于一个具体的工厂类来实现,这个工厂类负责所有产品的创建,但是这种创建只能创建单一的产品,如简单工厂模式里的ChickenFac ...
- Java——设计模式(工厂方法模式)
* A:工厂方法模式概述* 工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现.* 简单来说:先定义一个工厂,工厂里面有些方法,这些方法就是用来创建动物的,然 ...
- 我的Java设计模式-工厂方法模式
转载 https://zhuanlan.zhihu.com/p/29549253 转载于:https://www.cnblogs.com/thiaoqueen/p/8298328.html
最新文章
- 【Groovy】循环控制 ( Number 注入函数实现循环 | times 函数 | upto 函数 | downto 函数 | step 函数 | 闭包作为最后参数可写在外面 )
- 有关sed命令的用法
- python安装百度aip_Python3.6安装aip
- 如何做优化,UITabelView才能更加顺滑
- centos shell mysql数据库备份_CentOS6.5下通过Shell创建、备份、还原MySQL数据库
- Vue.js-----轻量高效的MVVM框架(二、Vue.js的简单入门)
- uploadify php完整,uploadify.php
- android车机升级carplay,现代增加支持DIY升级CarPlay,Android Auto的车型
- sip android 客户端,为什么星号无法与android sip客户端正常工作?
- Keil5下载芯片包并导入教程
- selenium上传附件的两种方式(普通上传和借助AutoIt识别Windows上传窗口)
- 联通物联卡为什么没有网络_联通物联卡的资费和优势怎样
- writing idiomatic python 读书笔记(2)
- 一个大牛的acm历程(看着就要颤抖)
- Jetson nano 使用ROS 实现串口通信,并且解析通信协议(C++)
- 西方经济学微观部分中的英文字母缩写
- 帝国织梦和各种php网页将局部广告进行屏蔽搜索引擎蜘蛛
- python怎么安装whl文件
- MacOs | 一只捣乱桌面宠物鹅
- 外线座机无法接入到程控交换机问题处理
热门文章
- 牛客多校2 - Fake Maxpooling(线性递推gcd+单调队列)
- HDU - 6194 string string string(后缀数组+RMQ+容斥)
- HDU - 6153 A Secret(KMP的next数组性质/扩展KMP)
- HDU - 1005 Number Sequence(循环群)
- 【数据结构】哈夫曼树与哈夫曼编码
- PTA第3章-2 查验身份证 (15 分)
- protobuf入门教程(五):枚举(enum)、包(package)
- MFC中获取命令行参数的几种方法
- Linux 下的 AddressSanitizer
- pycharm debug 断点调试