首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计方式之工厂方法

2012-07-04 
设计模式之工厂方法工厂方法是在简单工厂的基础上的进一步抽象,在简单工厂中,所有的对象都是通过一个工厂

设计模式之工厂方法
工厂方法是在简单工厂的基础上的进一步抽象,在简单工厂中,所有的对象都是通过一个工厂来创建,在工厂方法中,每个对象都有特定的工厂来创建。
抽象接口(车)

package com.yf.designpattern.factorymethod;public interface Car {public void drive();}

具体实现类(宝马和奔驰)
package com.yf.designpattern.factorymethod;public class BmwCar implements Car {@Overridepublic void drive() {System.out.println("This is a BMW!!!");}}package com.yf.designpattern.factorymethod;public class BenzCar implements Car {@Overridepublic void drive() {System.out.println("This is a  Benz!!!");}}

抽象工厂接口(汽车制造厂)
package com.yf.designpattern.factorymethod;public interface CarFactory {public Car driver();}

工厂的具体实现(奔驰车厂和宝马车厂)
package com.yf.designpattern.factorymethod;//奔驰车厂只生产奔驰车public class BenzCarFactory implements CarFactory {@Overridepublic Car driver() {// TODO Auto-generated method stubreturn new BenzCar();}}package com.yf.designpattern.factorymethod;//宝马车厂只生产宝马车public class BmwCarFactory implements CarFactory {@Overridepublic Car driver() {// TODO Auto-generated method stubreturn new BmwCar();}}

测试类:
package com.yf.designpattern.factorymethod;public class Test {/** * @param args */public static void main(String[] args) {CarFactory cf=new BmwCarFactory();Car car=cf.driver();car.drive();}}

工厂方法的好处是减轻了汽车工厂的负载,具体实例都由特有的对象工厂来产生

热点排行