工厂方法模式也是一种创建对象的设计模式,属于创建型设计模式。工厂方法模式定义了对象工厂接口,抽象出了获取对象实例方法,而将具体的创建对象工作放到了具体的类创建工厂进行。
工厂方法模式类图:
具体实现代码示例:
工厂接口:
package factoryPattern;
public interface Factory {
Fruit factorygetInstance();
}
具体工厂1:
package factoryPattern;
public class AppleFactory implements Factory{
public Fruit factorygetInstance(){
// TODO Auto-generated method stub
return new Apple();
}
}
具体工厂2:
package factoryPattern;
public class PearFactory implements Factory{
public Fruit factorygetInstance(){
// TODO Auto-generated method stub
return new Pear();
}
}
对象接口:
package factoryPattern;
public interface Fruit {
String getFruitName();
}
具体对象1:
package factoryPattern;
public class Apple implements Fruit{
@Override
public String getFruitName(){
// TODO Auto-generated method stub
return "This is apple";
}
}
具体对象2:
package factoryPattern;
public class Pear implements Fruit {
@Override
public String getFruitName() {
// TODO Auto-generated method stub
return "This is pear";
}
}
测试类:
package factoryPattern;
public class FactoryMethodTest {
public static void main(String[] args){
Factory fac = new AppleFactory();
System.out.println(fac.factorygetInstance().getFruitName());
fac = new PearFactory();
System.out.println(fac.factorygetInstance().getFruitName());
}
}
说明:
与简单工厂模式相比,工厂方法模式将对象的创建与抽象工厂分离,当要新增类对象的创建时,只需要实现一个具体工厂和一个具体的类(新增类对象的类)即可,满足了开闭原则。缺点在于,多出了很多具体的创建对象工厂,存在一种类对象,则要有相应的对象工厂对应。
- 大小: 23 KB
分享到:
相关推荐
在这个"菜鸟教程设计模式之工厂模式代码整理"中,我们将深入探讨工厂模式的基本概念、结构以及如何在实际编程中应用。 工厂模式的核心思想是通过一个专门的工厂类来创建对象,而不是让客户端代码直接实例化具体的...
本教程对Java 23种设计模式进行了总结,涵盖了策略模式、观察者模式、装饰者模式、工厂方法模式、抽象工厂模式、单例模式、命令模式、适配器模式、外观模式、模板方法模式、迭代器模式、组合模式、状态模式、代理...
在这个“菜鸟教程设计模式之工厂模式代码整理(反射机制改进版)”中,我们主要探讨的是如何利用Java的反射机制来进一步增强工厂模式的功能。 首先,理解工厂模式的基本概念。工厂模式属于创建型设计模式,它提供了...
本资源“设计模式学习经典篇之菜鸟篇”旨在为初学者提供一个全面而通俗易懂的设计模式学习路径。 设计模式的核心在于重用已验证的解决方案,以提高代码的可读性、可维护性和可扩展性。根据GOF(Gamma, Helm, ...
1. **创建型模式**:包括单例模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式。这类模式关注于对象的创建过程,可以有效地控制对象的实例化,减少耦合,提高灵活性。 - 单例模式确保一个类只有一个实例,...
设计模式(菜鸟到高手)
它包括简单工厂模式、工厂方法模式和抽象工厂模式。简单工厂模式通过一个单独的类来创建对象;工厂方法模式定义了一个创建对象的接口,但由子类决定实例化哪一个类;抽象工厂模式提供一个创建一系列相关或相互依赖...
创建型设计模式如单例模式、工厂方法模式、抽象工厂模式等,它们关注的是对象的创建过程,使得代码更加灵活,易于维护和扩展。结构型设计模式如适配器模式、桥接模式、装饰器模式、组合模式、外观模式、享元模式和...
设计模式(Design pattern)是一套被反复使用、...本章系Java之美[从菜鸟到高手演变]系列之设计模式,我们会以理论与实践相结合的方式来进行本章的学习,希望广大程序爱好者,学好设计模式,做一个优秀的软件工程师!
**策略模式** 属于行为设计模式,定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。策略模式让算法的变化独立于使用它的客户。例如,我们可以定义一个策略接口和多个实现策略的类: ```java interface ...
24种设计模式介绍与6大设计原则希望这本书的阅读者具备最基本的代码编写能力,您是一个初级的 coder,可以从中领会到怎么设计 一段优秀的代码;您是一个高级程序员,可以从中全面了解到设计模式以及 Java 的边角技术...
工厂方法模式、抽象工厂模式和建造者模式都是创建型模式,分别适用于不同的场景,如需要创建单一对象、一组相关对象或按步骤构建复杂对象的情况。理解并熟练运用这些模式,能够显著提升软件设计的质量和可扩展性。在...
工厂方法让类的实例化推迟到子类中进行。 2. 抽象工厂模式(Abstract Factory Pattern):为创建一组相关或相互依赖的对象提供一个统一的接口,而无需指定它们的具体类。 3. 单例模式(Singleton Pattern):确保...
单例模式是软件设计模式中的一种基础模式,用于确保一个类只有一个实例,并提供一个全局访问点。在Java中,单例模式的实现有很多种方式,包括懒汉式、饿汉式、双重检查锁定(DCL)等。下面我们将深入探讨这些实现...
而“C嵌入式编程设计模式”这一主题,旨在探讨如何利用C语言进行高效且可靠的嵌入式系统编程,通过采用经典的设计模式来提升代码的可读性、可维护性和可扩展性。以下将详细阐述相关知识点。 1. **状态机**:状态机...
代码可以运行,下载这个后,建议买->《大话设计模式这本书》。来辅助学习。有很多关于C#语言有关的设计模式分别由: 1、模板方法模式 2、外观模式 3、建造者模式 ...23、工厂方法模式 24、原型模式
设计模式(Design pattern)是一套被反复使用、...本章系Java之美[从菜鸟到高手演变]系列之设计模式,我们会以理论与实践相结合的方式来进行本章的学习,希望广大程序爱好者,学好设计模式,做一个优秀的软件工程师!
1. **工厂方法模式**:提供了一个创建对象的接口,但允许子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 2. **抽象工厂模式**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们...
java常用的设计模式一个简单总结,如工厂模式、单例模式、代理模式等等。(楼主也是未入门的菜鸟,如有错误请及时联系楼主更正,谢谢!)