wangking717 写道
工厂方法模式(Factory Method):定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。这样进一步抽象化的好处使得系统在不修改具体工厂的情况下进行无限扩展,符合设计模式的开闭原则,即对扩展开放,对修改关闭。
工厂方法经常用在以下两种情况中:
1. 调用者清楚地知道应该使用哪个具体工厂服务,实例化该具体工厂,生产出具体的产品来。Java Collection中的iterator() 方法即属于这种情况。
2. 只是需要一种产品,而不想知道也不需要知道究竟是哪个工厂为生产的,即最终选用哪个具体工厂的决定权在生产者一方,它们根据当前系统的情况来实例化一个具体的工厂返回给使用者,而这个决策过程这对于使用者来说是透明的。
来看看类图吧:
这里举MOBILE的例子:
产品接口:
public interface Mobile{
public void call();
}
产品1:
public class Nokia implements Mobile{
public void call(){
System.out.println("Nokia producted");
}
}
产品2:
public class Motorola implements Mobile{
public void call(){
System.out.println("Motorola producted");
}
}
工厂接口:
public interface MobileFactory{
public Mobile getMobile();
}
产品1工厂:
public class NokiaFactory implements MobileFactory{
public Mobile getMobile(){
return new Nokia();
}
}
产品2工厂:
public class MotorolaFactory implements MobileFactory{
public Mobile getMobile(){
return new Motorola();
}
}
TestCase:
public class Test{
public static void main(String[] args){
MobileFactory mbf = new NokiaFactory();
Mobile mb=mbf.getMobile();
mb.call();
mbf= new MotorolaFactory();
mb=mbf.getMobile();
mb.call();
}
}
- 大小: 59.4 KB
分享到:
相关推荐
这里我们将深入探讨三种常见的Java设计模式:单例(Singleton)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)。 **单例模式(Singleton)** 单例模式确保一个类只有一个实例,并提供一个全局访问点...
今天我们要探讨的是设计模式中的一个经典成员——工厂方法模式(Factory Method Pattern)。工厂方法模式是创建型设计模式的一种,它提供了一种创建对象的最佳方式。 ### 一、什么是工厂方法模式? 工厂方法模式...
学习Java中的工厂方法模式,探索示例、用途、好处以及它如何增强代码的灵活性和可维护性。 **二、别名** * Virtual Constructor **三、Factory Method设计模式的意图** 使用工厂方法模式定义一个用于创建对象的...
- `FactoryMethod.java`:这个文件可能包含了工厂方法模式的实现,包括工厂接口和具体工厂类的定义。 - `File.java`:可能是一个抽象类或接口,定义了`File`的公共方法。 - `TextFile.java`和`ImageFile.java`:具体...
- 工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类。 - 抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,无需指定它们的具体类。 - ...
**工厂模式**是一种常见的设计模式,它在Java中被广泛应用于创建对象实例。工厂模式的主要目的是将对象的创建过程封装起来,使得代码更加灵活且易于维护。通过使用工厂模式,我们可以将实例化对象的责任从客户端代码...
在这个压缩包中,`FactoryMethod`可能包含了Java实现工厂方法模式的源代码示例。 设计模式是一种在特定场景下解决软件设计问题的通用、可重用的解决方案,它代表了最佳实践,被广泛应用于各种编程语言中。工厂方法...
工厂方法模式是设计模式中的创建型模式,它提供了一种创建对象的最佳方式。在这个模式中,一个工厂类负责创建对象,而具体的创建过程被延迟到子类中实现。这种模式的关键在于封装了对象的创建过程,并允许在运行时...
* 工厂方法模式:工厂方法模式是一种创建型模式,它提供了一种创建对象的方式,而不需要指定它们的类。 * 抽象工厂模式:抽象工厂模式是一种创建型模式,它提供了一种创建一系列相关或相互依赖的对象的方式,而不...
"t02FactoryMethod" 指的是工厂方法(Factory Method)设计模式,它是面向对象设计中的一种经典模式。这个模式主要关注于如何创建对象,通过引入一个工厂接口或者抽象类,将对象的创建过程封装起来,使得具体的对象...
### Java设计模式之工厂模式详解 #### 一、引言 设计模式是在软件设计过程中针对常见问题而提出的标准化解决方案。其中,“工厂模式”是面向对象编程中最常用的模式之一,主要目的是封装实例化过程,使代码更加...
Java作为一款强大的面向对象编程语言,非常适合实现各种设计模式,包括工厂方法模式。在这个“工厂方法模式java实例demo”中,我们可以期待看到如何在实际代码中应用这一模式。 在刘伟老师的《设计模式》一书中,他...
创建型模式如单例(Singleton)、工厂方法(Factory Method)和抽象工厂(Abstract Factory),主要关注对象的创建过程;结构型模式如适配器(Adapter)、装饰器(Decorator)和代理(Proxy),关注如何组合和扩展类...
此外,为了确保参考资料的权威性,建议读者查阅原书《Java设计模式》以获得更加详尽的解释和说明。如果有任何意见或建议,可以通过提供的电子邮箱与作者联系。在学习设计模式的过程中,理解每一个模式的意图、结构、...
Java工厂模式是面向对象设计模式中的一个重要概念,它提供了一种创建对象的最佳方式。在工厂模式中,我们创建对象时不直接实例化具体类,而是通过一个接口或者抽象类来间接创建。这种模式的核心在于将对象的创建过程...
在Java中,设计模式的应用不仅限于这些基础模式,还包括对框架的理解和使用,如Spring框架中的依赖注入(Dependency Injection,DI)和控制反转(Inversion of Control,IoC)就是对工厂模式和策略模式的扩展。...
工厂方法模式(Factory Method)** 相比于简单工厂模式,工厂方法模式将产品创建的职责交给子类。它定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪一个类。工厂方法将一个类的实例化延迟到了其子类。...
这时,可以考虑使用更高级的工厂模式,如AbstractFactory(抽象工厂)或者FactoryMethod(工厂方法)。 在压缩包文件`SimpleFactory`中,很可能包含了实现上述结构的Java源代码文件,包括`Car`接口或抽象类、具体的...
【Java设计模式之工厂模式Factory】是面向对象编程中一种重要的设计模式,它提供了一种创建对象的最佳方式。工厂模式的主要思想是将对象的创建过程封装起来,使得创建过程独立于使用过程,使得代码更加灵活,易于...