《一工厂方法模式说明:.docx》由会员分享,可在线阅读,更多相关《一工厂方法模式说明:.docx(2页珍藏版)》请在第一文库网上搜索。
1、一、工厂方法模式说明:工厂方法模式是简单工厂模式的扩展,实现了某具体的工厂类生产某具体的产品,使工厂类生产的产品更加具体,而这些具体的工厂类都从抽象的工厂接口继承。工厂方法模式的实现图如下所例如:工厂类中的App1eFactory负责生产app1e;PearFactory负责生产pear。二、工厂方法模式设计:采用工厂方法模式设计以前的果园管理系统。(注:在工厂类中采用了单例模式的设计)packagecom.so1id.factorymethod;/*工厂方法模式(产品接口)*authorso1idpub1icinterfaceFruit/种植voidgrant();生长voidgrow();
2、收获voidharvest();packagecom.so1id.factorymethod;/*工厂方法模式(具体产品类一)*authorso1idpub1icc1assApp1eimp1ementsFruit/苹果种植pub1icvoidgrant()System.out.printIn(app1egrant);)苹果生长pub1icvoidgrow()System.out.print1n(app1egrow);苹果收获pub1icvoidharvest()System.out.print1n(app1eharvest);公共方法pub1icstaticvoid1og(Stringstr)
3、System.out.print1n(str);packagecom.so1id.factorymethod;/*工厂方法模式(具体产品类二)*authorso1id*/pub1icc1assPearimp1ementsFruit梨种植pub1icvoidgrant()System.out.printIn(peargrant);/梨生长pub1icvoidgrow()System.out.printIn(peargrow);梨收获pub1icvoidharvest()System.out.printIn(pearharvest);公共方法pub1icstaticvoid1og(Stringst
4、r)System.out.printIn(str);packagecom.so1id.factorymethod;/*工厂方法模式(工厂接口)*authorso1id*/pub1icinterfaceFactorypub1icFruitfactory();packagecom.so1id.factorymethod;/*工厂方法模式(具体工厂类一)*authorso1id*/pub1icc1assApp1eFactoryimp1ementsFactory懒汉式单例模式privatestaticApp1eFactoryapp1eFactory=nu11;privateApp1eFactoryOs
5、ynchronizedpub1icstaticApp1eFactoryget1nstance()ifapp1eFactory=nu11)app1eFactory=newApp1eFactoryO;returnapp1eFactory;生产苹果工厂方法pub1icFruitfactory()returnnewApp1eO;packagecom.so1id.factorymethod;/*工厂方法模式(具体工厂类二)*authorso1id*/pub1icc1assPearFactoryimp1ementsFactory饿汉式单例模式privatestaticPearFactorypearFactory=newPearFactory();privatePearFactoryOpub1icstaticPearFactoryget1nstance()returnpearFactory;生产梨方法pub1icFruitfactory()returnnewPear();