模式新手的FACTORY看法。请指点
FACTORY
建立一个专门生产keyboard(键盘)的工厂
public class Factory{
public static Keyboard creator(int which){
//为什么用static?
if (which==1)
return new keyboardBig();大键盘,成年人用
else if (which==2)
return new keyboardSmall();小键盘,小学生用
}
}
Abstract Factory
现在工厂做大了,不只生产键盘,甚至要出成品电脑了
public abstract class Factory{
public abstract Keyboard createKeyboard();
public abstract CPU creatorCPU (String name); //参数为了选择产品有更的的灵活性。是否需要根据实际情况。
}
public class ArmyFactory extends Factory{//生产面向军工的产品。。
public Keyboard createKeyboard (){
.........
return new KeyboardArmy() //军工键盘。
}
public CPU createCPU (String name){ //军用 Intel 或 AMD CPU
if……. return IntelArmy
else return AMDArmy
}
}
public class PeopleFactory extends Factory{//生产面向群众的产品。
public Keyboard createKeyboard(){
......
return new Keyboard //普通键盘。
}
public CPU createCPU (String name){
if……. return Intel
else return AMD //普通Intel or AMD CPU
}
}
这是我第二便看完banq 的写的设计模式,也参考GOF的那本书。
上面的代码是我根据banq的改的,(没别的意思,发在这里是向和大家
讨论。因为我是个新手,,,不感肯定自己,,想法,,,SO 请
banq和大家给指点一下)不好意思。
希望能说说自己真正的看法,让我们共同进步。