请教Banq工厂模式中的一些问题

06-02-22 X.Underset
以下代码和两段话是从您文章中复制的:

public abstract class Factory{

  public abstract Sample creator();

  public abstract Sample2 creator(String name);

}

public class SimpleFactory extends Factory{

  public Sample creator(){

    .........

    return new SampleA

  }

  public Sample2 creator(String name){

    .........

    return new Sample2A

  }

}

public class BombFactory extends Factory{

  public Sample creator(){

    ......

    return new SampleB

  }

  public Sample2 creator(String name){

    ......

    return new Sample2B

  }

}

从上面看到两个工厂各自生产出一套Sample和Sample2,也许你会疑问,为什么我不可以使用两个工厂方法来分别生产Sample和Sample2?

抽象工厂还有另外一个关键要点,是因为 SimpleFactory内,生产Sample和生产Sample2的方法之间有一定联系,所以才要将这两个方法捆绑在一个类中,这个工厂类有其本身特征,也许制造过程是统一的,比如:制造工艺比较简单,所以名称叫SimpleFactory。

-----------------------------------------------------------------

"生产Sample和生产Sample2的方法之间有一定联系"

这个联系是指什么还望赐教!

说白了就是不太明白为什么不可以使用两个工厂方法来分别生产Sample和Sample2

还有就是光盘中的第三章Jive论坛的源代码中的jivesoftware包内的类的代码是否是您写的?

    

banq
2006-02-22 11:07
>生产Sample和生产Sample2的方法之间有一定联系

一般说sample和sample2继承同一个接口,这里没有详细列出,属于同一个抽象,所以有联系。

JiveJdon 3.0以后版本都是我亲自写的,是基于Jdon Framework写的,而JF则抽象了JiveJdon 3.0以前版本(原Jive)精华。

猜你喜欢