java设计模式之工厂模式

什么设计模式? 设计模式是对开发经验的总结,提炼。提高代码可重用性,可靠性。也是现实世界解决问题的一些方式的程序映射。

设计模式是基于面向对象的程序设计,而面向对象也是映射自现实世界构成的思想。

面向对象中的类是抽象自显示对象的一些属性与行为,比如现实世界中将男人,女人,小孩,黑人,白人都抽象为人类。虽然男人有男人独有的器官,女人有女人独有的器官,生理心理都有很多不一样。但还是可以总结出所有人的一些共同特征,统称为类。比如所有人都要吃饭,喝水,睡觉,都有眼睛,鼻子,嘴。这就是所谓的类。总结具体现象,抽出象形每一个具体现象的特征。

工厂模式,顾名思义,类似于现实中的工厂。工厂将有同样作用的一些东西包装加工成直接面向消费者的产品,消费者不用自己去拿原材料生成,直接跟工厂打交道。通过工厂给的说明来使用其产品。

例:

//牛奶
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();

}

}

这个比较简单,其实就是在类的基础上再抽象,用另一个对象根据不同的条件返回一个此类的对象。

/**进阶: 可以将工厂类也抽象出一个接口。根据接口规范而生成工厂,再由工厂生成对象。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值