java工厂模式例子视频_JAVA 工厂模式简单例子

现给出一简单用例,模拟一火腿(Ham)生产工厂,工厂可以生产数种类型的Ham,那么在创建了一个工厂实例后,只需要告诉它请你生产何种Ham,它就会给你生产出来:

package test;

interface Ham { //定义接口,用于辅助实现工厂模式

void show();//由Ham工厂生产出的各种Ham将有show()的能力

}

public class FatoryModule {//工厂类,用于产品多种不同种类的Ham

public Ham getHam(String HamType) throws Exception{//工厂类对象生产Ham的动作

if (HamType.equals("HamA")) {

return new HamA();

}

else if (HamType.equals("HamB")) {

return new HamB();

}

else if (HamType.equals("HamC")) {

return new HamC();

}

else

throw new Exception();//如果该工厂收到生产某种Ham的指令但暂不支持,则抛出异常

}

public static void main(String[] args) {//测试代码

FatoryModule fatorymodule = new FatoryModule();

try {

Ham myHam = fatorymodule.getHam("HamB");//可以方便地创建各种类型的Ham,而程序结构和代码的修改量达到最小

myHam.show();

} catch (Exception ex) {

ex.printStackTrace();//应进一步处理异常

}

}

}

class HamA implements Ham { //工厂中生产的一种产品HamA

public void show() {

System.out.println("You got a HamA.");

}

}

class HamB implements Ham { //工厂生产的另一种产品HamB

public void show() {

System.out.println("You got a HamB.");

}

}

class HamC implements Ham { //工厂生产的第三种产品HamC

public void show() {

System.out.println("You got a HamC.");

}

}

通过程序的演示我得到了以下结论:

由于应用了工厂模式,我只需要告诉工厂对象给我生产一种什么样的Ham(即getHam()方法中的参数),便可以得到此类Ham,而不用写HamX hamX=new HamX(); 要是有数十种不同的Ham对象需要在程序的不同地方被创建,那么使用工厂模式代码将显得简单而统一,每个需要不同Ham的地方仅是getHam()的参数不同。否则程序一旦需要扩展和维护,数十处的new语句将让人头痛。而如果需要添加新的Ham类型,只需要在工厂类中添加即可。

更多JAVA 工厂模式简单例子 相关文章请关注PHP中文网!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值