1.为什么需要设计模式:模式即是方法,解决问题有好坏。在功能实现的基础上我们要求做到设计更好,所以有了设计模式!
2.工厂模式的学习:
看到的例子里说有一个类有很多子类,需要实例化的同时,为了避免若干个问题(1.为了代码的封装性和隐藏性 2为了避免杂乱.3.为了秉承面向对象的精神里的高内聚,低偶合。$……还有什么好处要慢慢总结了!^ ~ ^)
一个例子是:
class Opeater{
Sting numA;
String numB;
getNumA();
getNumB();
getResult();
}
这个是基类,如果子类有AddOpert(){},SubOpert();……(把加减乘除的功能用继承的形式来写,这样,加功能就不用碰到其他的操作了,题外话)
这个时候需要用到工厂模式
class Factory{
public static Opeater(这个是父类的返回值) creater(String oper){
if(oper.equals("+")){
new AddOpert();
}else(oper.equals("-")){
new SubOpert();
}else{…………}//继续添加其他子类来完善功能,类似配置文件
}
}
使用的时候:
public static void main(String args[]){
Opeater oper;
oper = new Factory().creater("+");
oper.numA = 1;
oper.numB = 2;
oper.getResult();//这样可以返回加法的结果
oper = new Factory().creater("/");
oper.numA = 5;
oper.numB = 0;//在子类里做好特殊处理
oper.getResult();//这样可以返回除法的结果
}
3.什么是抽象工厂模式
看了下书,对比了下工厂模式,感觉是在原有的基础上增加了基类。从而变成对多个基类的子类实例化的控制,而这种情况带来的是对工厂类的编写采用了抽象化来处理。而实例化的任务交给了这个工厂类的子类,这样无疑是增加了实例的复杂程度。
有两个基类:
class simpleF{}
class simpleF2{}
现在他们各自有很多子类,这样的化工厂类的实例化带来了困难。
public abstract class Factory{
pulbic simpleF creater();
pulbic simpleF2 creater(String other);
}
//具体实现就要看工厂的小孩们了
public abstract class FactoryChild1{
pulbic simpleF creater(){
new simpleFA();
};
pulbic simpleF2 creater(String other){
new simpleFB();
};
}
2.工厂模式的学习:
看到的例子里说有一个类有很多子类,需要实例化的同时,为了避免若干个问题(1.为了代码的封装性和隐藏性 2为了避免杂乱.3.为了秉承面向对象的精神里的高内聚,低偶合。$……还有什么好处要慢慢总结了!^ ~ ^)
一个例子是:
class Opeater{
Sting numA;
String numB;
getNumA();
getNumB();
getResult();
}
这个是基类,如果子类有AddOpert(){},SubOpert();……(把加减乘除的功能用继承的形式来写,这样,加功能就不用碰到其他的操作了,题外话)
这个时候需要用到工厂模式
class Factory{
public static Opeater(这个是父类的返回值) creater(String oper){
if(oper.equals("+")){
new AddOpert();
}else(oper.equals("-")){
new SubOpert();
}else{…………}//继续添加其他子类来完善功能,类似配置文件
}
}
使用的时候:
public static void main(String args[]){
Opeater oper;
oper = new Factory().creater("+");
oper.numA = 1;
oper.numB = 2;
oper.getResult();//这样可以返回加法的结果
oper = new Factory().creater("/");
oper.numA = 5;
oper.numB = 0;//在子类里做好特殊处理
oper.getResult();//这样可以返回除法的结果
}
3.什么是抽象工厂模式
看了下书,对比了下工厂模式,感觉是在原有的基础上增加了基类。从而变成对多个基类的子类实例化的控制,而这种情况带来的是对工厂类的编写采用了抽象化来处理。而实例化的任务交给了这个工厂类的子类,这样无疑是增加了实例的复杂程度。
有两个基类:
class simpleF{}
class simpleF2{}
现在他们各自有很多子类,这样的化工厂类的实例化带来了困难。
public abstract class Factory{
pulbic simpleF creater();
pulbic simpleF2 creater(String other);
}
//具体实现就要看工厂的小孩们了
public abstract class FactoryChild1{
pulbic simpleF creater(){
new simpleFA();
};
pulbic simpleF2 creater(String other){
new simpleFB();
};
}