《一、工厂方法模式说明:.docx》由会员分享,可在线阅读,更多相关《一、工厂方法模式说明:.docx(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、工厂方法模式说明:工厂方法模式是简单工厂模式的扩展,实现了某一具体的工厂类生产某一具体的产品,使工厂类 生产的产品更加具体,而这些具体的工厂类都从抽象的工厂接口继承。工厂方法模式的实现图如下所 示:例如:工厂类中的AppleFactory负责生产叩pie; PearFaclory负责生产pear, 二、工厂方法模式设计:采用工厂方法模式设口以前的果园管理系统。(注:在工厂类中采用了单例模式的设计) package com.solid.factorymethod;/*工厂方法模式(产品接口)* author solid /public interface Fruit 种植void grant
2、();生长void grow();收获void harvest();)package com.solid.factorymethod;/* 工厂方法模式(具体产品类一)author solid */public class Apple implements Fruit 苹果种植public void grant() System.out.printIn(apple grant);)苹果生长public void grow() System, out .printIn (apple gro);)苹果收获public void harvest 0 System, out .print In (ap
3、ple harvest1);)公共方法public static void log(String str) System.out.printin(str);)package com.solid.factorymethod;/*工厂方法模式(具体产品类二)* author solid */pxiblic class Pear implements Fruit /梨种植public void grant() System.out.printIn(pear grant); )/梨生长public void grow () System.out.printIn(pear grow);)梨收获publi
4、c void harvest() System.out.printIn(pear harvest); )公共方法public static void log(String str) System.out.printIn(str);)package com.solid.factorymethod;/*工厂方法模式(工厂接口)* author solid */public interface Factory public Fruit factory();package com.solid.factorymethod;/*工厂方法模式(具体工厂类一)* author solid */public c
5、lass AppleFactory implements Factory 懒汉式单例模式private static AppleFactory appleFactory = null;private AppleFactory() (synchronized public static AppleFactory getlnstance() if(appleFactory = null) appleFactory = new AppleFactory();) return appleFactory;/生产苹果工厂方法public Fruit factory() return new Apple()
6、; package com.solid.factorymethod; / * *工厂方法模式(具体工厂类二)* Qauthor solid */public class PearFactory implements Factory 饿汉式单例模式private static PearFactory pearFactory = new PearFactory(); private PearFactory() public static PearFactory getlnstance() return pearFactory;生产梨方法public Fruit factory()( return new Pear();)