java 设计模式之工厂方法模式

来源:互联网 发布:用matlab求矩阵方程 编辑:程序博客网 时间:2024/06/05 05:05

 工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 
工厂模式可以分为三类: 

1)简单工厂模式(Simple Factory) ,简单的创建一个对象工厂,然后创建对象,把创建对象隐藏。
2)工厂方法模式(Factory Method) ,一个工厂创建一个产品,可以有多个工厂
3)抽象工厂模式(Abstract Factory) ,一个工厂创建多个产品,可以有多个工厂

工厂模式的组成模式:

抽象产品 类,具体产品类,抽象工厂类,具体工厂类。

package com.huawei.factory;//定义手机抽象类 public interface Phone {}//定义手机膜抽象类interface PhoneM{}class PhoneMImple implements PhoneM{PhoneMImple(){System.out.println("已生产配套手机膜");}}//小米手机class MiPhone implements Phone{MiPhone(){System.out.println("生产一台小米手机");}}class HWPhone implements Phone{HWPhone(){System.out.println("生产一台华为手机");}}class IPhone implements Phone{IPhone(){System.out.println("生产一台苹果手机");}}interface PhoneFactory{Phone createPhone();//定义生产手机PhoneM createPhoneM();//定义生产手机膜}/** * 生产小米手机及其手机膜 * @author Administrator * */class IMPhoneFactoryImpl implements PhoneFactory{@Overridepublic Phone createPhone() {return new MiPhone();}@Overridepublic PhoneM createPhoneM() {// TODO Auto-generated method stubreturn new PhoneMImple();}}/** * 生产华为手机及其手机膜 * @author Administrator * */class HWPhoneFactoryImpl implements PhoneFactory{@Overridepublic Phone createPhone() {return new HWPhone();}@Overridepublic PhoneM createPhoneM() {// TODO Auto-generated method stubreturn new PhoneMImple();}}

package com.huawei.factory;public class Test1 {public static void main(String[] args) {//生产小米手机PhoneFactory mip = new IMPhoneFactoryImpl();mip.createPhone();mip.createPhoneM();//生产华为手机PhoneFactory hwp = new HWPhoneFactoryImpl();hwp.createPhone();hwp.createPhoneM();}}

运行结果:

生产一台小米手机
已生产配套手机膜
生产一台华为手机
已生产配套手机膜


原创粉丝点击