设计模式(1)---工厂模式
2016-02-02 16:11
429 查看
UML类图如下:
“`
/**
* 工厂设计模式
* 一个抽象工厂类,可以派生出多个具体产品类。
* 可以使用工厂模式代替使用new方法返回对象。
* JDK中应用:
* java.util.Calendar#getInstance()
* java.sql.DriverManager#getConnection()
*/
public class FactoryDesign {
interface Car{
public void run();
}
}
“`
“`
/**
* 工厂设计模式
* 一个抽象工厂类,可以派生出多个具体产品类。
* 可以使用工厂模式代替使用new方法返回对象。
* JDK中应用:
* java.util.Calendar#getInstance()
* java.sql.DriverManager#getConnection()
*/
public class FactoryDesign {
interface Car{
public void run();
}
class UnkownCar implements Car{ @Override public void run() { System.out.println("unknown mark car is running"); } } class Audi implements Car{ @Override public void run() { System.out.println("Audi is running"); } } class Volkswagen implements Car{ @Override public void run() { System.out.println("Volkswagen is running!"); } } enum CarType{ AUDI,VOLKSWAGEN,UNKOWN } class CarFactory{ public Car buildCar(CarType type){ if( type==CarType.AUDI) return new Audi(); if( type==CarType.VOLKSWAGEN){ return new Volkswagen(); } return new UnkownCar(); } } public static void main(String[] args) { CarFactory factory = new FactoryDesign().new CarFactory(); Car audiCar = factory.buildCar(CarType.AUDI); audiCar.run(); Car volkswagenCar = factory.buildCar(CarType.VOLKSWAGEN); volkswagenCar.run(); }
}
“`
相关文章推荐
- 介绍php设计模式中的工厂模式
- asp.net 简单工厂模式和工厂方法模式之论述
- 深入理解JavaScript系列(28):设计模式之工厂模式详解
- js简单工厂模式用法实例
- javascript 模式设计之工厂模式详细说明
- python中getattr函数使用方法 getattr实现工厂模式
- 工厂模式在Zend Framework中应用介绍
- 浅析php工厂模式
- C++设计模式之抽象工厂模式
- C++设计模式之简单工厂模式实例
- c#使用简单工厂模式实现生成html文件的封装类分享
- PHP高级对象构建 工厂模式的使用
- 基于php设计模式中工厂模式详细介绍
- PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
- C++设计模式之工厂方法模式
- JavaScript设计模式之工厂模式和构造器模式
- Javascript设计模式理论与编程实战之简单工厂模式
- Java设计模式之工厂模式(Factory模式)介绍
- PHP基于工厂模式实现的计算器实例
- PHP框架开发第一步——工厂模式