1.名词解释
工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
2.代码示例
工厂接口
package DesignPattern.FactoryMethodPattern;
public interface IFactory {
public Operation createOperation() ;
}
加法工厂
package DesignPattern.FactoryMethodPattern;
public class AddFactory implements IFactory {
@Override
public Operation createOperation() {
return new AddOperation();
}
}
乘法工厂
package DesignPattern.FactoryMethodPattern;
public class MulFactory implements IFactory {
@Override
public Operation createOperation() {
return new MulOperation();
}
}
package DesignPattern.FactoryMethodPattern;
public class Operation {
private double numberA = 0.0d;
private double numberB = 0.0d;
public void setNumberA(double d) {
this.numberA = d;
}
public double getNumberA() {
return this.numberA;
}
public void setNumberB(double d) {
this.numberB = d;
}
public double getNumberB() {
return this.numberB;
}
public double getResult() {
return 0.0;
}
}
加法处理类
package DesignPattern.FactoryMethodPattern;
public class AddOperation extends Operation {
public double getResult() {
return super.getNumberA() + super.getNumberB();
}
}
乘法处理类
package DesignPattern.FactoryMethodPattern;
public class MulOperation extends Operation{
public double getResult() {
return super.getNumberA() * super.getNumberB();
}
}
主控程序
package DesignPattern.FactoryMethodPattern;
public class Client {
public static void main(String[] args) {
IFactory factory = new AddFactory();
Operation operation = factory.createOperation();
double numberA = 2;
double numberB = 12.9;
operation.setNumberA(numberA);
operation.setNumberB(numberB);
double result = operation.getResult();
System.out.println(result);
factory = new MulFactory();
operation = factory.createOperation();
operation.setNumberA(numberA);
operation.setNumberB(numberB);
result = operation.getResult();
System.out.println(result);
}
}
分享到:
相关推荐
在给定的资源中,"设计模式交流之工厂模式-shannonxu-2014-10-24.pptx"可能是详细的PPT讲解,涵盖了这些模式的概念、结构、优缺点以及实际应用案例。而"Factory"可能是一个代码示例,展示了工厂模式的具体实现,包括...
主要介绍了java设计模式学习之工厂方法模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
工厂方法模式是面向对象设计模式中的一种,它属于创建型模式,主要解决的是当系统需要创建的对象具有多种类型,而具体创建哪种类型的对象在运行时才能确定的问题。在这个压缩包中,`FactoryMethod`可能包含了Java...
设计模式C++学习之工厂方法模式(Factory Method)
"设计模式工厂方法模式PPT学习教案" 本学习教案旨在讲解设计模式中的工厂方法模式(Factory Method),通过学习本教案,学生将掌握工厂方法模式的定义、结构、实例、分析和应用。 模式动机与定义 在软件设计中,...
工厂方法模式是面向对象设计模式中的一个创建型模式,它提供了一种封装对象创建过程的方式,使得具体的对象创建过程可以延迟到子类中进行。在C++编程中,工厂方法模式广泛应用于各种软件设计中,因为它能有效地解耦...
工厂方法模式是设计模式中的创建型模式,它提供了一种创建对象的最佳方式。在这个模式中,一个类(称为工厂类)不再直接实例化具体的产品,而是定义一个接口或抽象类,由子类来决定实例化哪一个类。这样做的好处在于...
总结来说,这份“设计模式资料之工厂设计模式”可能会涵盖工厂模式的基本概念、分类、作用,尤其是重点讲解抽象工厂模式的原理、应用场景及实现方式。通过学习这些内容,开发者将能更好地理解和运用设计模式,提升...
在软件设计模式中,工厂模式是一组非常基础且实用的设计模式,主要分为简单工厂模式、工厂方法模式和抽象工厂模式。这些模式都是为了解决对象创建的问题,通过封装对象的创建过程,使得代码更加灵活,易于扩展和维护...
工厂方法(Factory Method)是设计模式中的一员,属于创建型模式,它的核心思想是定义一个用于创建对象的接口,让子类决定实例化哪一个类。这个接口就是工厂方法,让子类决定实例化哪一个类,工厂方法让类的实例化...
本Demo程序主要涵盖了两种常用的创建型设计模式——简单工厂模式(Simple Factory)和工厂方法模式(Factory Method)。这两种模式都是用来创建对象,但它们在灵活性和抽象程度上有所不同。 简单工厂模式是一种静态...
"设计模式单例模式和工厂模式综合应用"的主题聚焦于两种常用的设计模式:单例模式和工厂模式,并探讨它们如何协同工作来实现高效、灵活的代码结构。这个主题尤其适用于Java编程语言,因为Java的面向对象特性使得设计...
根据提供的标题“深入浅出设计模式之工厂模式”与描述“将《Head First 设计模式》(中文版)按章节进行了分割,每章一个文件,方便大家下载”,我们可以推测出这部分内容主要关注的是设计模式中的工厂模式。...
《研磨设计模式之工厂方法模式》是一本深入解析Java设计模式的专业书籍,特别是对工厂方法模式进行了详尽的探讨。设计模式是软件工程中的一种最佳实践,它们是解决常见问题的经验总结,使得代码更加可读、可维护和可...
在软件设计领域,设计模式是一种经过验证的、通用的解决方案,用于解决常见编程问题。"工厂模式"是其中一种常用...通过实践和学习,你可以更好地掌握这些设计模式,并将其应用到你的项目中,提升软件开发的效率和质量。
"设计模式之工厂系列"指的是几种不同的工厂模式,它们都是面向对象设计中的重要组成部分,尤其在Java编程语言中广泛使用。工厂模式的主要目标是提供一个创建对象的抽象接口,使得系统在不指定具体实现类的情况下,...
本文将探讨三个重要的设计模式:抽象工厂模式、工厂方法模式以及策略模式,并结合一个实际的场景——手机加工厂,来具体阐述它们的应用。 首先,我们来看**抽象工厂模式**。这个模式主要用于创建相关或依赖对象的...
3. **抽象工厂模式**:抽象工厂模式是工厂方法模式的扩展,它关注的是整个产品族的创建,提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。在不同的环境中,可以使用不同的工厂类来生产一系列...
工厂方法模式是设计模式中的创建型模式,它在软件工程中扮演着重要的角色,尤其对于初学者来说,理解和掌握这一模式对于提升编程能力和设计能力大有裨益。在这个主题中,我们将深入探讨工厂方法模式的核心概念、作用...