作者 内容
 bigvictor  模式问题讨论
 

在简单工厂模式里,定义一个水果基类,苹果、香蕉、梨子继承自水果基类。水果园工人负责生产出苹果、香蕉、梨子。但我有一个新的要求,就是以后增加新的水果时我不想改动程序,这个模式该怎么设计?

 04/07/07 08:44 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 sealw  给工厂一些模板,这些模板可以克隆
 
 04/07/07 09:34 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 bigvictor   回复: 给工厂一些模板,这些模板可以克隆
 

模板克隆就可以不改程序而且能增加新的类了吗?

 04/07/07 11:27 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 bigvictor   没人对这问题感兴趣?怎么没人啊?
 
 04/07/07 11:45 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 sealw  这样:
 

FruitFactory.addSample("苹果", appleSample);
FruitFactory.addSample("香蕉", bananaSample);
FruitFactory.addSample("桃", peachSample);

Fruit f = FuiltFactory.newFruit("苹果");
Apple apple = (Apple) f;

 04/07/07 14:36 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 bigvictor   回复: 这样:
 

老兄,你说的有道理,但我还是不太明白,能不能讲清楚一点啊?拜托。它能保证以后还能生产出苹蕉这种水果么?

 04/07/07 15:18 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 sealw  你给它什么模板,它就能生产什么复制品
 

FruitFactory.addSample("苹果", appleSample);
FruitFactory.addSample("香蕉", bananaSample);
FruitFactory.addSample("桃", peachSample);

Fruit f = FuiltFactory.newFruit("苹果");
Apple apple = (Apple) f;

Fruit f = FuiltFactory.newFruit("香蕉");
Banana banana = (Banana) f;

Fruit f = FuiltFactory.newFruit("桃");
Peach peach = (Peach) f;

FruitFactory.addSample("杏", apricotSample);
Fruit f = FuiltFactory.newFruit("杏");
Apricot apricot = (Apricot) f;

 04/07/08 09:33 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首