什么设计模式? 设计模式是对开发经验的总结,提炼。提高代码可重用性,可靠性。也是现实世界解决问题的一些方式的程序映射。
设计模式是基于面向对象的程序设计,而面向对象也是映射自现实世界构成的思想。
面向对象中的类是抽象自显示对象的一些属性与行为,比如现实世界中将男人,女人,小孩,黑人,白人都抽象为人类。虽然男人有男人独有的器官,女人有女人独有的器官,生理心理都有很多不一样。但还是可以总结出所有人的一些共同特征,统称为类。比如所有人都要吃饭,喝水,睡觉,都有眼睛,鼻子,嘴。这就是所谓的类。总结具体现象,抽出象形每一个具体现象的特征。
工厂模式,顾名思义,类似于现实中的工厂。工厂将有同样作用的一些东西包装加工成直接面向消费者的产品,消费者不用自己去拿原材料生成,直接跟工厂打交道。通过工厂给的说明来使用其产品。
例:
//牛奶
public interface Milk {
public void drink();
}
//纯牛奶
public class PureMilk implements Milk{
public void drink(){
System.out.println("喝纯牛奶");
}
}
//酸奶
public class Yoghurt implements Milk{
public void drink(){
System.out.println("喝酸奶");
}
}
//伊利奶工厂
public class YiliFactory {
public Milk bottle(String type){
if("pure".equals(type)){
return PureMilk();
}else if("yoghurt".equals(type)){
return Yoghurt();
}else {
return null;
}
}
}
//测试类
public class InWorld(){
public static void main(String args[]){
YiliFactory yili = new YiliFacorty('pure');
Milk m=m.bottle;
m.drink();
}
}
这个比较简单,其实就是在类的基础上再抽象,用另一个对象根据不同的条件返回一个此类的对象。
/**进阶: 可以将工厂类也抽象出一个接口。根据接口规范而生成工厂,再由工厂生成对象。