java设计模式之工厂设计模式
2015-11-05 09:04
609 查看
java中的工厂模式分为三种,第一是:简单的工厂模式,
第二是:工厂方法,
第三是:抽象工厂
下面来看看各种工厂模式是个怎么实现的方法,第一种是简单的工厂模式:
再来看看工厂方法,这种方法过于繁琐,如果有产前上万的商品,简直就是灾难:
第二是:工厂方法,
第三是:抽象工厂
下面来看看各种工厂模式是个怎么实现的方法,第一种是简单的工厂模式:
package excise; //import excise.Fruit; interface Fruit1 { public void eat(); } class Apple implements Fruit1{ public void eat(){ System.out.println("我在吃苹果"); } } class Banana implements Fruit1{ public void eat(){ System.out.println("我在吃香蕉"); } } public class DesignPattern2 { public static Fruit1 factory(String str) throws Exception{ if(str.equals("Apple")){ return new Apple(); }else if(str.equals("Banana")){ return new Banana(); }else{ throw new Exception("没有该产品"); } } public static void main(String args[]){ try{ DesignPattern2.factory("Banana").eat(); DesignPattern2.factory("Apple").eat(); DesignPattern2.factory("Ae").eat(); }catch(Exception e){ e.printStackTrace(); } } }
再来看看工厂方法,这种方法过于繁琐,如果有产前上万的商品,简直就是灾难:
package excise; interface Factory{ public Product create(); } interface Product{} class Washer implements Product{ public Washer(){ System.out.println("洗衣机被制造了"); } } class Icebox implements Product{ public Icebox(){ System.out.println("冰箱被制造了"); } } class AirCondition implements Product{ public AirCondition(){ System.out.println("空调被制造了"); } } class CreateWasher implements Factory{ public Product create(){ return new Washer(); } } class CreateIcebox implements Factory{ public Product create(){ return new Icebox(); } } class CreateAirCondition implements Factory{ public Product create(){ return new AirCondition(); } } public class DesignPattern2 { public static void main(String args[]){ Factory f=new CreateAirCondition(); f.create(); } }
相关文章推荐
- JFinal+maven+freemarker入门教程
- Java编程中利用InetAddress类确定特殊IP地址的方法
- struts之<bean:write>及<logic:iterate>
- Myeclipse导入工程中文乱码问题
- myeclipse6.5 反编译工具 jadclipse jad java反编译
- 解决eclipse中git插件中的cannot open git-upload-pack问题
- Eclipse is running in a JRE, but a JDK is required 解决方法(转)
- 浅谈Eclipse寻找JVM(JRE)的顺序机制(转)
- java设计模式之单例模式
- Spring相框
- ubuntu下eclipse连接手机
- 记一次接口开发
- java多线程之死锁
- Java基础语法之数组初始化值
- SpringAop_各种通知
- Java记录 -62- java.util.Collections
- struts.xml配置文件启用开发者模式
- Java中static、final用法
- eclipse安装windowBuilder
- java enum(枚举)使用详解 + 总结