Template Method Pattern是在父类建立处理逻辑的大纲骨架,而在子类补充具体的处理内容,如果把模板方法用在产生对象实例方面,就是式厂方法模式
Factory Method Pattern在父类规定对象的创建方法,但并没有深入到较具体的类名。所有具体的完整内容都放在子类,根据这个原则,我们可以大致分成产生对象实例的框架和实际产生对象实例的类两方面
1.框架类
package com.pattern.factorymethod;
public abstract class Factory {
public final Cup make(String shape,String color) {//产生对象的方法,用final修饰把保证在子类中不会被修改
Cup cup = makeCup(shape);
smearColor(cup,color);
return cup;
}
protected abstract Cup makeCup(String shape); //抽象方法,制作水杯,shape参数指定水杯的外形
protected abstract void smearColor(Cup cup,String color); //抽象方法,给水杯涂上颜色
}
2.实现类
package com.pattern.factorymethod;
public class CupFactory extends Factory {
protected Cup makeCup(String shape) {
Cup cup = new Cup();
cup.setShape(shape);
return cup;
}
protected void smearColor(Cup cup, String color) {//涂颜色
cup.setColor(color);
}
}
3.水杯(实体类)
package com.pattern.factorymethod;
public class Cup {
private String shape;
private String color;
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getShape() {
return shape;
}
public void setShape(String shape) {
this.shape = shape;
}
}
4.测试
package com.pattern.factorymethod;
public class Main {
public static void main(String[] args) {
//创建一个水杯工厂
CupFactory factory = new CupFactory();
Cup cup1 = factory.make("圆形", "红色");//我要一个圆形,红色的杯子
System.out.println("杯子造好了");
System.out.println("形状:"+cup1.getShape());
System.out.println("颜色:"+cup1.getColor());
Cup cup2 = factory.make("方形", "蓝色");//我要一个方形,蓝色的杯子
System.out.println("杯子造好了");
System.out.println("形状:"+cup2.getShape());
System.out.println("颜色:"+cup2.getColor());
}
}
结果:
杯子造好了
形状:圆形
颜色:红色
杯子造好了
形状:方形
颜色:蓝色
分享到:
相关推荐
这里我们将深入探讨三种常见的Java设计模式:单例(Singleton)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)。 **单例模式(Singleton)** 单例模式确保一个类只有一个实例,并提供一个全局访问点...
今天我们要探讨的是设计模式中的一个经典成员——工厂方法模式(Factory Method Pattern)。工厂方法模式是创建型设计模式的一种,它提供了一种创建对象的最佳方式。 ### 一、什么是工厂方法模式? 工厂方法模式...
**工厂模式**是一种常见的设计模式,它在Java中被广泛应用于创建对象实例。工厂模式的主要目的是将对象的创建过程封装起来,使得代码更加灵活且易于维护。通过使用工厂模式,我们可以将实例化对象的责任从客户端代码...
学习Java中的工厂方法模式,探索示例、用途、好处以及它如何增强代码的灵活性和可维护性。 **二、别名** * Virtual Constructor **三、Factory Method设计模式的意图** 使用工厂方法模式定义一个用于创建对象的...
在这个压缩包中,`FactoryMethod`可能包含了Java实现工厂方法模式的源代码示例。 设计模式是一种在特定场景下解决软件设计问题的通用、可重用的解决方案,它代表了最佳实践,被广泛应用于各种编程语言中。工厂方法...
### Java设计模式之工厂模式详解 #### 一、引言 设计模式是在软件设计过程中针对常见问题而提出的标准化解决方案。其中,“工厂模式”是面向对象编程中最常用的模式之一,主要目的是封装实例化过程,使代码更加...
"t02FactoryMethod" 指的是工厂方法(Factory Method)设计模式,它是面向对象设计中的一种经典模式。这个模式主要关注于如何创建对象,通过引入一个工厂接口或者抽象类,将对象的创建过程封装起来,使得具体的对象...
1. **创建型模式**:包括单例(Singleton)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)、建造者(Builder)和原型(Prototype)。这些模式关注对象的创建过程,使得代码更加灵活,易于管理和扩展。...
适合Java设计模式期末考试选择题复习,形式如下: 10.(单选题)Facade(外观)模式的意图是 正确答案: A A.希望简化现有系统的使用方法,你需要定义自己的接口 B.将一个无法控制的现有对象与一个特定借口相匹配。 C....
创建型设计模式如单例(Singleton)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)、建造者(Builder)和原型(Prototype),它们主要关注对象的创建过程,使得代码更加灵活且易于扩展。 结构型设计...
【Java设计模式之工厂模式Factory】是面向对象编程领域中常用的设计模式,它提供了一种创建对象的最佳方式。工厂模式的主要思想是将对象的创建过程封装起来,使得客户端(使用对象的代码)无需关心对象的具体创建...
在众多设计模式中,“工厂方法模式”(Factory Method Pattern)尤为突出,它是一种创建型设计模式,用于解决在类的实例化过程中,如何避免硬编码的问题,同时保持系统的灵活性与可扩展性。 #### 工厂方法模式的...
### Java设计模式详解 在软件开发领域,设计模式是一种被广泛采用的解决方案,用来解决常见的设计问题。设计模式不仅能够帮助开发者写出可复用、可维护的代码,还能提高团队间的沟通效率。以下是对给定文件中提到的...
Java工厂模式是面向对象设计模式中的一个重要概念,它提供了一种创建对象的最佳方式。在工厂模式中,我们创建对象时不直接实例化具体类,而是通过一个接口或者抽象类来间接创建。这种模式的核心在于将对象的创建过程...
2. 工厂方法模式(Factory Method Pattern): 工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法把实例化操作推迟到子类中进行。在工厂方法模式中,创建对象的任务是由抽象工厂类...
此外,为了确保参考资料的权威性,建议读者查阅原书《Java设计模式》以获得更加详尽的解释和说明。如果有任何意见或建议,可以通过提供的电子邮箱与作者联系。在学习设计模式的过程中,理解每一个模式的意图、结构、...
Java设计模式是软件开发中的一种最佳实践,它总结了在解决特定问题时程序员们经常采用的有效方法。这个“JAVA设计模式-chm版”资源显然包含了关于Java设计模式的详细信息,便于理解和应用。设计模式是对常见问题的...
创建型模式如单例(Singleton)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)、建造者(Builder)和原型(Prototype),主要关注对象的创建过程,使得代码更易于管理和测试。 结构型模式包括适配器...