工厂模式其实是java开发中最常用的模式之一,我们在获取数据库连接的时候,经常使用工厂模式;
1、结构图:
![Factory Method]()
2、目的:
定义一个用于创建对象的接口,让接口子类通过工厂方法决定实例化哪一个类;
3、适用性:
a) 当一个类希望由它的子类来指定它所创建的对象的时候;
b) 当一个类不知道自己将创建什么样的对象类的时候(有多种对象类可以选择);
c) 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候;
4、java实现:
工厂类(Factory.java):
public class Factory {
public Window CreateWindow (String type) {
Class cls = null;
Window win = null;
try{
cls = Class.forName(type);
win =(Window)cls.newInstance();
}catch(Exception ex)
{
ex.printStackTrace();
}
return win;
}
public static void main(String[] args) {
Factory myFactory = new Factory();
Window myBigWindow = myFactory.CreateWindow("WindowBig");
myBigWindow.func();
Window mySmallWindow = myFactory.CreateWindow("WindowSmall");
mySmallWindow.func();
}
}
----------------
window接口(Window.java)
public abstract class Window {
public abstract void func();
}
----------------
两个子类中的第一个WindowBig.java:
public class WindowBig extends Window {
public void func() {
System.out.println("This is Big Window !");
}
}
两个子类中的第二个WindowSmall.java:
public class WindowSmall extends Window {
public void func() {
System.out.println("This is Small Window !");
}
}
分享到:
相关推荐
在这个"菜鸟教程设计模式之工厂模式代码整理"中,我们将深入探讨工厂模式的基本概念、结构以及如何在实际编程中应用。 工厂模式的核心思想是通过一个专门的工厂类来创建对象,而不是让客户端代码直接实例化具体的...
在这个“菜鸟教程设计模式之工厂模式代码整理(反射机制改进版)”中,我们主要探讨的是如何利用Java的反射机制来进一步增强工厂模式的功能。 首先,理解工厂模式的基本概念。工厂模式属于创建型设计模式,它提供了...
Java是一种广泛使用的面向对象的编程语言,而设计模式则是软件工程中解决常见问题的经验总结,是程序员在实践中形成的最佳实践。这份"根据《JAVA与设计模式》整理的笔记及示例代码"涵盖了Java语言和设计模式的核心...
工厂方法模式是一种创建型设计模式,它提供了一种创建对象的接口,允许客户端创建对象,而无需指定创建的类别。这个模式解决了工厂模式的缺点,提供了更多的灵活性和可扩展性。 2. 抽象工厂模式(Abstract Factory ...
这些设计模式是软件工程中的基石,学习和理解它们有助于提升代码质量,降低维护成本,提高团队协作效率。吕震宇的《设计模式速成经典示例》通过具体的C#代码示例,深入浅出地讲解了这些模式的使用场景和实现方式,...
工厂模式是一种创建型设计模式,用于隔离对象的创建过程,使得客户端代码无需关心具体的实现细节。在例子中,工厂模式被比喻为在麦当劳或肯德基点餐,顾客只需要告诉服务员想要什么,而无需了解食品是如何制作的。...
W3School 设计模式教程由飞龙整理,提供了一套详细的学习资源,适合想要深入理解设计模式的开发者。 GOF,即Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides四位作者,他们在1994年出版的《设计模式 -...
创建模式 设计模式之Singleton(单态/单件) 阎宏博士讲解:单例(Singleton)模式 保证一个类只有一个实例,并提供一个访问它的全局访问点 设计模式之Factory(工厂方法和抽象工厂) 使用工厂模式就象使用new一样频繁....
Java设计模式是面向对象编程中的重要概念,它是一种在特定情境下解决常见问题的经验总结,为软件开发提供了可复用的解决方案。这个压缩包“Java设计模式”包含了对Java编程中23种经典设计模式的详细梳理和示例代码,...
设计模式是软件开发中的一种最佳实践,用于解决常见的设计问题并提供可重用的解决方案。以下是对36种最新设计模式的简要介绍: 1. **简单工厂模式(Simple Factory)**:通过一个静态方法创建对象,简化客户端代码,...
这里我们将深入探讨标题和描述中提到的几种设计模式:简单工厂模式、工厂方法模式、抽象工厂模式、单例模式以及代理模式。 1. **简单工厂模式**: 简单工厂模式是一种创建型设计模式,它提供一个静态方法用于创建...
在给定的文档中,主要讨论了设计模式中的工厂模式。 工厂模式是一种创建型设计模式,其核心思想是提供一个创建对象的接口,将实例化过程封装起来,使得用户无需关心具体的对象创建逻辑,只需通过工厂来获取所需的...
设计模式和架构模式是软件工程中的重要概念,它们提供了解决特定问题的通用方案,帮助开发者创建出结构良好、易于维护的软件系统。设计模式主要关注在对象层次上的问题,而架构模式则侧重于整个系统的组织结构。 ##...
这份“23种设计模式整理(很全).pdf.zip”压缩包包含了对23种经典设计模式的全面梳理,适合Java开发者深入学习。 1. 创建型模式(Creational Patterns): - 单例模式(Singleton):确保一个类只有一个实例,并...
在IT行业中,设计模式是软件开发中的一种标准解决方案,它代表了在特定上下文中解决常见问题的最佳实践。这里我们关注的是一个名为"pattern.zip"的压缩包文件,它包含了23种经典的设计模式,这些模式在实践中被广泛...
OO 中的 23 种设计模式的整理 在面向对象编程(Object-Oriented Programming,OO)中,设计模式(Design Pattern)是指在软件设计中普遍存在的问题和解决方案的总结。OO 中的 23 种设计模式是指 GoF(Gang of Four...
其次,工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,而无需指定具体的类。在PHP中,工厂模式可以用来解耦对象的创建和使用,使得更换或扩展产品类型变得更加容易。工厂类负责创建对象,客户端只...
设计模式是软件工程中的一种重要思想,它是在特定情境下,为解决常见问题而形成的一套最佳实践。设计模式手册通常会涵盖多种经典的设计模式,包括创建型、结构型和行为型三大类,如单例模式、工厂模式、适配器模式、...