设计模式-工厂模式
来源:互联网 发布:iphone闪存检测软件 编辑:程序博客网 时间:2024/06/03 15:42
上面写过单例模式,下面准备把我知道的几个模式都给复述出来。
工厂模式:实例化对象,用工厂方法代替new操作,包括工厂方法模式和抽象工厂模式,后者是前者的扩展。
目的:定义一个接口来创建对象,但是让子类来决定那些类需要被实例化,工厂方法吧实例化的工作推迟到子类中去实现。
范围“:有一组类似的对象需要创建,在编码是不能遇见需要创建那种类的实例,系统需要考虑扩展性。
动机:尽量低耦合,产品和客户端分离。
工厂方法模式:
Car接口:
package v;public interface Car {public void car();}奔驰:
package v;public class Bezn implements Car {@Overridepublic void car() {// TODO Auto-generated method stub System.out.println("奔驰");}}
宝马:
package v;public class BMW implements Car {@Overridepublic void car() {// TODO Auto-generated method stub System.out.println("宝马");}}
工厂:
package v;/* * 汽车工厂,帮我生成汽车,而不用我们去调用生成汽车 */public class CarFactory { //反射机制可以根据根据类的名称来生成累的实例 Spring里面的SessionFactory public static Car getCar2(String className) throws InstantiationException, IllegalAccessException, ClassNotFoundException{ Car car=(Car) Class.forName(className).newInstance(); return car; }}
测试:
package v;public class Client {public static void main(String[] args) {try {CarFactory.getCar2("v.BMW").car();} catch (InstantiationException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
阅读全文
1 0
- 设计模式------工厂模式
- 设计模式------工厂模式
- 设计模式 [ 工厂模式 ]
- 设计模式--工厂模式
- 设计模式-工厂模式
- 设计模式--工厂模式
- 设计模式 工厂模式
- 设计模式-工厂模式
- 设计模式 -- 工厂模式
- 设计模式-工厂模式
- 设计模式----工厂模式
- 设计模式---工厂模式
- 设计模式-工厂模式
- 设计模式--工厂模式
- 设计模式---工厂模式
- 设计模式-工厂模式
- 设计模式--工厂模式
- 设计模式 - 工厂模式
- cordova build错误:Unable to start the daemon process
- 服务器的瞬时 Diffie-Hellman 公共密钥过
- Spring对CXF的整合
- MySQL ProxySQL读写分离实践
- 基于Eclipse的Android开发环境搭建
- 设计模式-工厂模式
- 121. Best Time to Buy and Sell Stock
- nodejs adm-zip 解压文件 中文文件名乱码
- JAVA基础面试题
- 在Linux虚拟机上安装QT
- Hadoop 学习笔记十 常见问题汇总
- 进程管理supervisor的简单说明
- 场景解析--Scene Parsing through ADE20K Dataset
- html子元素不继承父元素(opacity)的解决方法