《一、工厂方法模式说明:.docx》由会员分享,可在线阅读,更多相关《一、工厂方法模式说明:.docx(2页珍藏版)》请在优知文库上搜索。
1、一、工厂方法模式说明:工厂方法模式是简单工厂模式的扩展,实现了某具体的工厂类生产某具体的产品,使工厂类生产的产品更加具体,而这些具体的工厂类都从抽象的工厂接口继承。工厂方法模式的实现图如下所例如:工厂类中的AppleFactory负责生产apple;PearFactory负责生产pear。二、工厂方法模式设计:采用工厂方法模式设计以前的果园管理系统。(注:在工厂类中采用了单例模式的设计)packagecom.solid.factorymethod;/*工厂方法模式(产品接口)*authorsolidpublicinterfaceFruit/种植voidgrant();生长voidgrow();
2、收获voidharvest();packagecom.solid.factorymethod;/*工厂方法模式(具体产品类一)*authorsolidpublicclassAppleimplementsFruit/苹果种植publicvoidgrant()System.out.printIn(applegrant);)苹果生长publicvoidgrow()System.out.println(applegrow);苹果收获publicvoidharvest()System.out.println(appleharvest);公共方法publicstaticvoidlog(Stringstr)
3、System.out.println(str);packagecom.solid.factorymethod;/*工厂方法模式(具体产品类二)*authorsolid*/publicclassPearimplementsFruit梨种植publicvoidgrant()System.out.printIn(peargrant);/梨生长publicvoidgrow()System.out.printIn(peargrow);梨收获publicvoidharvest()System.out.printIn(pearharvest);公共方法publicstaticvoidlog(Stringst
4、r)System.out.printIn(str);packagecom.solid.factorymethod;/*工厂方法模式(工厂接口)*authorsolid*/publicinterfaceFactorypublicFruitfactory();packagecom.solid.factorymethod;/*工厂方法模式(具体工厂类一)*authorsolid*/publicclassAppleFactoryimplementsFactory懒汉式单例模式privatestaticAppleFactoryappleFactory=null;privateAppleFactoryOs
5、ynchronizedpublicstaticAppleFactorygetlnstance()ifappleFactory=null)appleFactory=newAppleFactoryO;returnappleFactory;生产苹果工厂方法publicFruitfactory()returnnewAppleO;packagecom.solid.factorymethod;/*工厂方法模式(具体工厂类二)*authorsolid*/publicclassPearFactoryimplementsFactory饿汉式单例模式privatestaticPearFactorypearFactory=newPearFactory();privatePearFactoryOpublicstaticPearFactorygetlnstance()returnpearFactory;生产梨方法publicFruitfactory()returnnewPear();