`
lvwenwen
  • 浏览: 958830 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

java设计模式之工厂方法模式(创建型模式)

阅读更多

 

package com.createtype.desginpatterns.facotry.factorymethod;
//抽象工厂类Creator
public abstract class AbstractFactoryCreator {  
    public final AbstractProduct newProduct() {  
        AbstractProduct product = createProduct();  
        check(product);  
        return product;  
    }  
      
    //手机检测  
    private AbstractProduct check(AbstractProduct product) {  
        //do something  
        return product;  
    }  
      
    //子类实现此方法,负责具体产品的创建  
    protected abstract AbstractProduct createProduct();   
}  

package com.createtype.desginpatterns.facotry.factorymethod;
///抽象产品类Product
public abstract class AbstractProduct {  
    //这里只定义一个简单方法  
    public abstract void use();  
}  

package com.createtype.desginpatterns.facotry.factorymethod;
//具体工厂类,负责生产Iphone,IphoneCreator
public class SpecificFactoryIphoneCreator extends AbstractFactoryCreator{  
  
    /** 
     *生成Iphone的工厂,负责产品的具体创建 
     */  
    @Override  
    protected AbstractProduct createProduct() {  
        return new SpecificIphoneProduct();  
    }  
}  

package com.createtype.desginpatterns.facotry.factorymethod;

//具体产品类IphoneProduc
public class SpecificIphoneProduct extends AbstractProduct {  
    @Override  
    public void use() {  
        System.out.println("Iphone生产出来啦,这是你的Iphone.");  
    }  
  
}  

package com.createtype.desginpatterns.facotry.factorymethod;

//测试类Client
//这样,我们就实现了一个简单的工厂方法。我们可以看到,在客户程序中,
//可以有效地避免了具体产品对象和应用程序之间的耦合。另外,当你要生产其它的产品时,
//比如android手机,
//只需用定义相应的android产品和生产android产品的工厂类,而两个抽象类不需要做任何修改。
//工程方法的优势:低耦合
//工厂方法:1.定义一个用于创建对象的接口,让子类决定实例化哪一个类,使一个类的实例化延迟到了子类。
//2.对不同的产品,可以定义一个抽象的类,让不同的产品也继承这个抽象的产品。这就是工厂方法。
public class Test {
	public static void main(String[] args) {
		// 建一个Iphone工厂
		AbstractFactoryCreator creator = new SpecificFactoryIphoneCreator();
		// 产品由具体类生产
		AbstractProduct product = creator.newProduct();
		product.use();
	}

}
分享到:
评论

相关推荐

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

    工厂方法模式是面向对象设计中的一种经典设计模式,属于创建型模式。它的主要目的是将对象的创建过程封装起来,使得创建过程独立于使用过程。在Java中,工厂方法模式允许我们定义一个创建对象的接口,但让实现这个...

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

    ### JAVA设计模式之工厂方法模式 #### 一、引言 设计模式是在软件工程领域内广泛应用的一种编程思想,它能够帮助开发者解决常见的软件设计问题,提高代码的可维护性和复用性。面向对象的设计模式更是现代软件开发...

    Java 工厂模式 抽象工厂 工厂方法模式

    在Java编程中,工厂模式是一种非常重要的设计模式,它属于创建型模式,主要用于对象的创建。本文将深入探讨Java中的工厂模式,包括基本的工厂模式、抽象工厂模式以及工厂方法模式。 **工厂模式**:工厂模式的核心...

    Java设计模式之工厂方法的工厂方法实现的源码

    工厂方法模式是设计模式中的一员,属于创建型模式,它提供了一种创建对象的最佳方式。这个Java源码示例是关于工厂方法模式的一个具体实现,特别是工厂方法的工厂方法,即二级工厂模式。 工厂方法模式的核心思想是...

    Java设计模式之工厂方法的ifelse实现的源码

    工厂方法(Factory Method)设计模式是其中的一种创建型模式,它提供了一种创建对象的最佳方式。在工厂方法模式中,我们创建一个工厂类来负责生产特定类型的对象,而具体的创建过程则由子类来决定,这样就将对象的...

    设计模式——工厂方法模式

    工厂方法模式是面向对象设计模式中的一种,它属于创建型模式,主要解决的是当系统需要创建的对象具有多种类型,而具体创建哪种类型的对象在运行时才能确定的问题。在这个压缩包中,`FactoryMethod`可能包含了Java...

    工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式

    工厂模式是一种常用的软件设计模式,它是创建型设计模式的一种,主要解决对象的创建问题,将对象的创建过程封装起来,使得创建过程独立于使用过程。这样可以提高代码的可复用性和灵活性,同时降低了系统的耦合度。...

    java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂

    工厂模式是一种创建型设计模式,它提供了一种创建对象的统一接口,从而使得创建和使用对象的代码分离。工厂模式帮助隐藏了对象创建的细节,用户无需知道具体类的实现就能创建出对象实例。在Java中,简单工厂模式、...

    JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)

    **简单工厂模式**是软件设计模式中的一种,属于创建型模式。在Java编程中,它是一种用于创建对象的简便方法,将对象的实例化过程封装到一个单独的工厂类中,使得客户端代码无需直接调用具体类的构造函数,而是通过...

    java设计模式-工厂模式

    Java设计模式中的工厂模式是一种创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,当客户端请求创建一个产品对象时,它不会直接创建,而是调用一个工厂对象来完成创建工作。这种模式的核心在于封装了对象...

    Java设计模式05工厂方法模式

    ### Java设计模式05工厂方法模式 #### 模式动机与定义 工厂方法模式是一种类创建型模式,其核心在于定义一个创建对象的接口,但让子类决定实例化哪一个类。这种模式允许一个类的实例化延迟到其子类中进行。与简单...

    java版本的设计模式的实现demo

    单例模式是最常见的创建型模式之一,它确保一个类只有一个实例,并提供全局访问点。在Java中,可以通过私有构造函数、静态私有变量和公共静态方法来实现单例模式。 3. 工厂模式 工厂模式是另一种常用的创建型模式,它将...

    JAVA设计模式之工厂模式.pdf

    简单工厂模式(Simple Factory Pattern)又称静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据自变量的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建...

    设计模式单例模式和工厂模式综合应用

    **工厂模式**是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当客户端请求创建一个产品时,工厂类会负责创建这个产品。这样做的好处是隐藏了对象创建的复杂性,客户端只需要知道如何获取产品...

    设计模式之工厂模式Java实现和类设计图

    工厂模式作为其中的一种,是对象创建型模式,它的主要目的是为了隔离对象创建过程与客户端之间的关系,使得创建过程更加灵活,同时也隐藏了具体的创建过程。本篇将深入探讨工厂模式在Java中的实现以及类设计图的应用...

    Java设计模式-工厂方法

    工厂方法作为其中一种创建型设计模式,是Java程序员必须掌握的核心技能之一。这个模式的主要目标是提供一个接口来创建对象,但允许子类决定实例化哪一个类。这样,工厂方法将一个类的实例化延迟到了子类,使得代码更...

    JAVA设计模式(java设计)

    Java设计模式是面向对象编程领域中的重要概念,它是一套被广泛接受并实践的解决软件设计问题的经验总结。设计模式并非具体的代码或库,而是一种在特定情境下为了解决常见问题而制定的通用解决方案的描述。它们描述了...

Global site tag (gtag.js) - Google Analytics