java吧 关注:1,242,679贴子:12,717,075
  • 13回复贴,共1

新人第一次发帖,说说我对工厂模式的理解,顺便附上代码

只看楼主收藏回复

这周,我也毕业了,在找工作,把以前学的不是很熟悉的也复习了一遍.发现班上挺多人对工厂模式不是很熟悉,
跟他们解释了一下,也顺便跑来发下自己的理解,大神勿喷,不足之处可以点出来,我会虚心接受.
首先:工厂模式,见名知意,就是一个工厂生产东西,而它生产的不是实物,而是对象,它负责把大量有共同接口的类实例化,而不需要我们自己去手动实例化这个类.它定义一个用于创建对象的接口,由子类决定实例化哪一个类.
下面是简单工厂模式的代码,可能有不足之处
public class Test{
1,定义一个共同接口,
interface Car {
public void run();
}
2,写两个类,实现接口
class Bwm implements Car{
public void run(){
System.out.println("宝马");
}
}
class Benz implements Car{
public void run(){
System.out.println("奔驰");
}
}
3,写一个单例模式的工厂
class CarFactory{
private static CarFactory factory = new CarFactory();
private CarFactory(){}
public static CarFactory a(){
return factory;
}
public Car createCar(String str){
if("奔驰".equals(str)){
return new Benz();
}else{
return new Bwm();
}
}
}
4,在main方法中测试
public static void main(String[] args) {
CarFactory carFactory = CarFactory.getcar();
carFactory.createCar("奔驰").run();
}
}
我也是刚学完java不久,写得不好,让各位见笑了


1楼2014-11-15 13:42回复
    大神


    IP属地:上海2楼2014-11-15 13:42
    收起回复
      自己挽尊


      3楼2014-11-15 13:42
      回复
        factory.getCar()在哪定义的.叫factory.getInstance()好一点.
        楼主写的这个叫简单工厂.
        <head first 设计模式>里说简单工厂只能算一个准设计模式,它更偏向于是一种编程习惯.
        这本书里介绍的两种工厂模式是:工厂方法模式 和 抽象工厂模式.


        4楼2014-11-15 13:56
        收起回复
          看完了这个了。


          来自Android客户端5楼2014-11-15 14:04
          收起回复
            顶一个,经验哗哗的


            IP属地:江苏来自Android客户端6楼2014-11-15 16:44
            回复


              IP属地:上海来自Android客户端7楼2014-11-15 16:50
              回复
                工厂模式就是为了先费一点力然后省力,若是觉得不划算,就砸厂子。


                IP属地:浙江来自Android客户端9楼2014-11-15 17:14
                收起回复