码迷,mamicode.com
首页 > 其他好文 > 详细

工厂模式

时间:2016-06-28 12:47:28      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

技术分享

技术分享

技术分享

第二种方式:

package com.dy.xidian;

public class CarFactory {
    
    public static Car createAuDi(){
        return new AuDi();
    }
    
    public static Car createBiYaDi(){
        return new BiYaDi();
    }
}

工厂方法模式


简单工厂中没添加一个新的类就需要去修改原有的工厂代码,这样的有点不好维护。

技术分享

 为每个具体的类都定义了一个具体的工厂类,当我们有新的类时,只需要增加该类以及其工厂类就可以了。

抽象工厂类:

package com.dy.xidian;

public interface CarFactory {
    public Car createCar();
}

 

 具体工厂类:

package com.dy.xidian;

public class AuDiFactory implements CarFactory {

    @Override
    public Car createCar() {
        return new Audi();
    }

}

 

调用方式:

public class Client{
  Car AuDi = new AuDiFactory.createCar();  
}

 

 如果需要曾加一个大众,那么只需要增加两个类文件DaZhong.java以及DaZhongFactory.java就可以了。但是这样也有个问题,就是每次都要增加两个文件,当类的数量庞大的时候也不好管理,所以一般情况下选用简单工厂模式。

 抽象工厂模式


 

 

 

工厂模式

标签:

原文地址:http://www.cnblogs.com/xidongyu/p/5622690.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!